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

当我尝试运行unit testing(mstest)时,我遇到了这个问题。
代码行:

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

回来作为空引用

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

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

您应该将app.config添加到unit testing项目中。 它不会自动使用UI应用程序的app.config的设置。

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