2009-10-24 31 views
2

我刚开始使用Pex为我的项目生成参数化单元测试。然而,当我让Pex运行它的探索时,我的代码崩溃了,因为它无法从web.config中读取(ConfigurationSettings.AppSettings没有更精确的元素)。探索过程中的工作目录是:“C:\ Program Files(x86)\ Microsoft Visual Studio 9.0 \ Common7 \ IDE”。我认为这是根本原因。运行Pex探索时从web.config读取

我知道处理这个问题的方法是创建与我需要的值相对应的模拟对象。然而,这会迫使我创建大量的模拟代码,并不会提供任何有形的价值恕我直言,因为我没有问题捆绑web.config与测试项目。

Pex探索执行时,如何从web.config(或app.config)启用读取?

回答

3

你已经回答了你自己的问题我害怕 - 你不会直接从你的代码访问你的数据库,那么为什么你的配置文件呢?只需在你的配置文件设置中添加一个薄包装,并将其存储在测试中。你不必一次就做完所有事情,先从待测试的代码开始,然后将包含的直接引用一点一点地移动到包装中。这样做的实际好处是它使测试变得简单。

另外,如果您的代码在每次运行之间被完全拆除(取决于您的代码和测试是否实际是这种情况),那么您每次都会碰到文件系统,严重影响业绩。