在 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
文件。
我查看了 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
文件。