如何检查代码是从Visual Studio还是从Automated Build运行

时间:2015-04-23 14:21:55

标签: c# visual-studio-2010 unit-testing tfs2010 tfsbuild

我们有一个方案,我们有sql单元测试,因为我们有一个sql测试项目,它从App.config中读取连接字符串。

我们现在希望如果我们从Visual Studio运行测试,它应该使用ConnectionStringA else,如果它从Automated Build运行,它应该使用ConnectionStringB。

我可以以某种方式确定测试是否在visualstudio或自动构建下运行吗?

我尝试了Debugger.IsAttached,但如果我尝试运行测试

那就不行

我也尝试检查Process.GetCurrentProcess().ProcessName.ToLower(),但我不确定这是否是一种万无一失的方法。

我研究了如何使用BuildingInsideVisualStudio,但无法让它发挥作用。

2 个答案:

答案 0 :(得分:0)

如何设置环境变量或注册表值并将其读取为运行时?

答案 1 :(得分:0)

如果您正在运行TFS / VSTS,则可以查找on the build variables docs中列出的任何环境变量,并使用它们来确定您是否在本地。