【发布时间】:2015-04-23 14:21:55
【问题描述】:
我们有一个场景,我们有 sql 单元测试,为此我们有一个 sql 测试项目,它从 App.config 读取连接字符串。
我们现在希望,如果我们从 Visual Studio 运行测试,它应该使用 ConnectionStringA,否则如果它从自动构建运行,它应该使用 ConnectionStringB。
我能否以某种方式确定测试是在 visualstudio 下运行还是在自动构建下运行?
我尝试过Debugger.IsAttached,但如果我尝试运行测试,那将无法正常工作
我也尝试检查Process.GetCurrentProcess().ProcessName.ToLower(),但我不确定这是否是万无一失的方法。
我研究了如何使用BuildingInsideVisualStudio,但无法让它发挥作用。
【问题讨论】:
-
首先,您使用的是什么单元测试运行器?这将大大有助于人们回答您的问题。和往常一样,whathaveyoutried.com
-
o 是的,我正在使用 Resharper 和 Visual Studio,以及默认的 Visual Studio tfs 构建
-
添加了我到目前为止尝试过的内容
-
为什么需要判断测试是在VS下运行还是在build下运行?构建应该在构建服务器上使用 ConnectionStringB 更新 app.config,然后将在正确的数据库上运行测试。
标签: c# visual-studio-2010 unit-testing tfsbuild