我们需要能够将服务器地址传递到我们的测试套件的MSTest命令行,该测试套件由TeamCity持续集成(CI)软件调用。
之前我们在C#单元测试中创建了#if常量,这在MSBuild中进行了更改。
有更好的方法吗?这种方式看起来很漂亮。
有没有办法创建配置文件并传递要在MSTest中使用的参数?
答案 0 :(得分:4)
我在测试项目中使用app.config文件来配置我的测试。源代码控制包含TeamCity中用于运行测试的app.config。
在编译时,app.config被复制到bin文件夹并重命名为[assembly-name] .config。然后,您可以通过ConfigurationManager。
从测试代码访问.config文件中的任何设置在开发系统上,自定义.config文件,以针对开发人员正在使用的本地测试服务器运行测试。
我发现这是最干净的方法,因为它记录了如何在源代码管理中配置测试。
如果您需要更多灵活性,可以在TeamCity中设置一个额外的构建步骤,根据需要使用自定义MSBuild脚本中的某些XML转换或字符串替换来修改.config文件。