如何使用命令提示符使MSTest并行运行测试



我正在使用MSTest.exe工具使用命令提示符(在powershell脚本中)运行我的集成测试。

但是我看到它运行得非常慢,我需要运行得更快。看看powershell的输出,MSTest似乎是一个接一个地运行它们。

是否有办法一起运行或并行运行它们?

我正在使用以下命令运行测试:

MSTest.exe "/testcontainer:C:myTestClass.dll" "/resultsfile:C:TestResult.trx" 

您可以使用testsettings。

在测试dll所在的文件夹中添加一个.testsettings文件。

你的。testsettings文件应该是这样的(注意Execution元素上的"parallelTestCount"属性):

<TestSettings name="SecurityWebApi" id="5f0defa1-d6a5-40a6-94ae-1522a7aeeba8" xmlns="http://microsoft.com/schemas/VisualStudio/TeamTest/2010">
  <Description>These are default test settings for a local test run.</Description>
  <Execution parallelTestCount="5">
    <TestTypeSpecific>
      <UnitTestRunConfig testTypeId="13cdc9d9-dd`enter code here`b5-4fa4-a97d-d965ccfc6d4b">
        <AssemblyResolution>
          <TestDirectory useLoadContext="true" />
        </AssemblyResolution>
      </UnitTestRunConfig>
      <WebTestRunConfiguration testTypeId="4e7599fa-5ecb-43e9-a887-cd63cf72d207">
        <Browser name="Internet Explorer 7.0">
          <Headers>
            <Header name="User-Agent" value="Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)" />
            <Header name="Accept" value="*/*" />
            <Header name="Accept-Language" value="{{$IEAcceptLanguage}}" />
            <Header name="Accept-Encoding" value="GZIP" />
          </Headers>
        </Browser>
      </WebTestRunConfiguration>
    </TestTypeSpecific>
    <AgentRule name="LocalMachineDefaultRole">
    </AgentRule>
  </Execution>
  <Properties />
</TestSettings>

然后在你的命令中你可以这样使用:

MSTest.exe "/testcontainer:C:myTestClass.dll" "/runsettings:yourfile.runsettings" "/resultsfile:C:TestResult.trx"

最新更新