MSTest命令行设置

我们需要能够将服务器地址传递到我们的测试套件的MSTest命令行,该测试套件由TeamCity持续集成(CI)软件调用。

以前我们在C#unit testing中创建了#if常量,这使得MSBuild发生了变化。

有没有更好的办法? 这种方式看起来很漂亮。

有没有办法创建配置文件并传递要在MSTest中使用的参数?

我在我的测试项目中使用app.config文件来配置我的测试。 源代码控制包含TeamCity中用于运行测试的app.config。

在编译时,app.config被复制到bin文件夹并重命名为[assembly-name] .config。 然后,您可以通过ConfigurationManager从测试代码访问.config文件中的任何设置。

在开发系统上,.config文件是自定义的,以针对开发人员使用的本地测试服务器运行测试。

我发现这是最干净的方法,因为它记录了如何在源代码管理中配置测试。

如果您需要更多灵活性,可以在TeamCity中设置其他构建步骤,以根据需要使用自定义MSBuild脚本中的某些XML转换或字符串替换来修改.config文件。