app.configs和MSTest Project - 连接字符串的空引用

时间:2009-05-30 20:51:37

标签: c# .net unit-testing app-config

当我尝试运行单元测试(mstest)时,我遇到了这个问题 代码行:

_mainCnStr = System.Configuration.ConfigurationManager.
               ConnectionStrings["main"].ConnectionString;

作为空引用回来

当我运行它时,它不会在主UI项目中执行此操作。单元测试项目看到的连接字符串设置的正确方法是什么?我尝试嵌入作为资源。我试过Copy Always。什么是适合我的设置组合?

3 个答案:

答案 0 :(得分:9)

有一件事需要关注MSTest(至少来自IDE);它不会在常规输出(bin)文件夹中运行测试,也不会考虑项目的文件包含(“复制到输出目录”)。您经常需要明确告诉它(MSTest)将哪些文件放入测试区域。您需要在此列表中包含“app.config”;或者通过testrunco​​nfig(“部署”),或者通过向受影响的测试装置添加属性([DeploymentItem])。

答案 1 :(得分:8)

您应该向单元测试项目添加app.config。它不会自动使用UI应用程序app.config中的设置。

答案 2 :(得分:0)

我假设mstests与nunit测试一样,是嵌入在由测试应用程序加载的单独程序集中的?在这种情况下,您可能需要创建一些加载到配置文件中的测试设置代码。