MSTest 命令行设置
我们需要能够将服务器地址传递到 MSTest 命令行中,以便由 TeamCity 持续集成 (CI) 软件调用我们的测试套件。
之前我们在 C# 单元测试中创建了 #if 常量,这在 MSBuild 中进行了更改。
有更好的办法吗?这种方式看起来很hacky。
有没有办法创建配置文件并传递要在 MSTest 中使用的参数?
We need to be able to pass a server address into MSTest command line for our testing suite that is invoke by TeamCity Continuous Integration (CI) software.
Previously we created #if constants in C# unit tests, which made the change in MSBuild.
Is there a better way? This way seems pretty hacky.
Is there a way to create config files and pass arguments to be used within MSTest?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我使用 app.config 文件在我的测试项目中配置我的测试。源代码管理包含 TeamCity 中用于运行测试的 app.config。
编译时,app.config 被复制到 bin 文件夹并重命名为 [程序集名称].config。然后,您可以通过 配置管理器。
在开发系统上,.config 文件被定制为针对开发人员使用的本地测试服务器运行测试。
我发现这是迄今为止最干净的方法,因为它记录了如何在源代码管理中配置测试。
如果您需要更大的灵活性,您可以在 TeamCity 中设置额外的构建步骤,以根据需要使用自定义 MSBuild 脚本中的一些 XML 转换或字符串替换来修改 .config 文件。
I use an app.config file in my test project to configure my tests. Source control contains the app.config used in TeamCity to run the tests.
On compilation the app.config is copied to the bin folder and renamed to [assembly-name].config. You can then access any settings in the .config file from your test code through the ConfigurationManager.
On development systems, the .config file is customized to run tests against what ever local test server the developer is using.
I find this the cleanest approach yet, because it records how tests are configured in source control.
If you need more flexibility you could setup an additional build step in TeamCity to modify the .config file as needed using some XML transforms or string replacements from a custom MSBuild script.