我有一个单元测试Visual Studio C#解决方案(运行webdriver测试,而不是那些必然相关)。它通过TeamCity运行。目前,环境在其中一个.cs文件中被硬编码为“Dev”,我在本地手动更改代码,以便在需要时在别处运行。
在TeamCity中设置两个项目的方法 - 一个在“Dev”环境中运行,另一个在“Test”环境中运行。显然我不能使用硬编码值,所以我需要一些可以在运行时选择的配置文件集,或者可能是某种构建参数 - 但我不知道如何做到这一点或什么工作。< / p>
(我没有在问题中提到TeamCity,因为它不是100%相关/只是提供上下文---只要我可以运行单元测试,例如从命令提示符中输入可以传入的参数,会做的伎俩。)
从我周围的问题来看,我不相信我可以使用web.config,因为它不是一个Web解决方案,而是一个单元测试解决方案。我相信有一种机制可以告诉Configuration Manager使用什么web.config文件,所以我希望有类似的机制可以用于单元测试项目。我已经尝试在“单元测试项目”和一系列其他搜索中搜索“构建配置”的信息,但这是一个发现任何相关内容的噩梦。
有人能指出我正确的方向吗?我很喜欢我的基本编程,但是如果它需要搞乱配置或构建参数,那么我可能需要更明确的“操作方法”。
提前致谢。
答案 0 :(得分:0)
检查Visual Studio的此扩展程序 https://visualstudiogallery.msdn.microsoft.com/579d3a78-3bdd-497c-bc21-aa6e6abbc859
这允许您为不同的构建类型创建不同的配置文件。您需要使用特定于该构建类型的配置文件创建不同的构建类型。
答案 1 :(得分:0)
根据我上面的评论,我在这里尝试了一个解决方案:https://visualstudiogallery.msdn.microsoft.com/69023d00-a4f9-4a34-a6cd-7e854ba318b5
IT WorkED。
我现在能够创建自动链接到构建配置的App.Config转换。然后我可以在TeamCity中指定构建配置。
唯一的诀窍是,如果没有代码更改,“重建”目标不起作用,但配置有所不同。 (它们使用同一代理的相同目录,并且需要重建)。解决方法是在TeamCity版本控制设置中勾选“清除构建前的所有文件”选项。