2

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

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

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

4

2 回答 2

3

恐怕您已经回答了自己的问题-您不会直接从代码中访问数据库,那么为什么要使用配置文件呢?只需在您的配置文件设置周围放置一个薄包装器,然后在您的测试中将其存根。您不必一口气完成所有操作,从被测代码开始,一点一点地移动包装器后面的直接引用。这样做的实际好处是它使测试变得容易。

此外,使用 Pex,如果您的代码在每次运行之间被完全破坏(取决于您的代码和测试是否确实如此),您每次都会访问文件系统,这将对性能产生严重影响.

于 2009-10-25T19:48:41.667 回答
1

Pex 开发人员不(经常)阅读 stackoverflow。您最好在http://social.msdn.microsoft.com/Forums/en/pex/threads的论坛上询问与 Pex 相关的问题

于 2009-10-27T18:06:41.297 回答