Resharper测试运行器无法在Run All上找到连接字符串

时间:2015-10-01 13:38:48

标签: visual-studio resharper

我有一个像这样的Visual Studio项目结构:

Base (no connection string)
Data (connection string to Sql Server, references Base)
Logic (connection string to Sql Server, references Base & Data)
Base.Test (no connection string, references Base)
Logic.Test (connection string to Sql Server, references Base & Data & Base.Test)

当我使用Resharper分别对每个测试项目运行所有单元测试时,它们会通过。但是当我在所有项目中运行所有单元测试时,Base测试先通过,然后Logic测试失败,因为它无法找到连接字符串。

当我调试时,我可以看到它确实有一个连接字符串到SqlExpress,我收集的是由Entity Framework生成的,它似乎来自链上方的另一个项目?

如何让Logic.Test项目在全部运行时使用app.config中自己的连接字符串?

2 个答案:

答案 0 :(得分:1)

我相信很久以前我遇到了类似的问题,我似乎记得我必须更改一些ReSharper设置(ReSharper - > Tools - > Options | Tools | Unit testing

我现在正在检查我的选项,并且我已经勾选了Shadow-copy并且已经勾选了单独的AppDomain。

你应该试一试。

修改

似乎只需勾选单独的AppDomain 复选框即可,无论 Shadow-copy 设置如何。

答案 1 :(得分:0)

另一种解决方案是将app.config复制到Base.Test项目上。从概念上讲,该项目与数据库工作完全无关,但该解决方案在开发环境和TeamCity测试运行器中都有效。