在 MSTest.exe 中通过命令行使用 .runsettings

Using .runsettings via commandline in MSTest.exe

我查看了 documentation for MSTest but still struggling to understand the proper use of testsettings/runsettings in the test project. This article 表明 .runsettings 应该是所有必需的,不再需要 .testsettings 文件(VS2010 及更高版本)。

我创建了一系列测试,它们使用 Selenium Driver 为我们的应用程序执行集成测试。由于这些是集成测试,我需要一种方法来根据执行这些测试的环境提供不同的参数。为此,我创建了两个单独的 .runsettings 文件:一个用于本地开发环境,一个用于暂存。

运行 那些通过 Visual Studio 的测试工作得很好。 Visual Studio 通过 Test/Test Settings/Select 测试设置 菜单选项为您提供指定设置文件的选项。

但是,在我的构建服务器上,我必须依赖命令行工具,尤其是 MSTest.exe。以下命令行执行测试并正确构建结果文件。

MSTest.exe /noisolation /resultsfile:"D:\Results\TestResult.trx" /testcontainer:"d:\Project\bin\Release\Project.Tests.dll" 

但是,由于在我们尝试检索我在 .testsettings 中指定的参数时抛出 NullReferenceException,所有测试都失败了。

有没有办法通过 MSTest.exe 参数将路径传递到适当的 .testsettings 文件?我查看了文档和 /help 选项,发现最接近的选项是 /testsettings,这不是我想要的,因为它已经习惯了指定 .testsettings 文件的路径。

using a .runsettings file, you need to use vstest.console.exe,而不是 mstest.exe。如果您使用 mstest.exe,您仍然需要使用与您在 Visual Studio 2010 中使用的文件类似的 .testsettings 文件。