指定多个xunit自定义特征键作为vstest.console.exe

时间:2019-07-01 21:36:59

标签: xunit.net vstest.console.exe

我需要一种从命令行指定xunit自定义特征的多个值来运行测试的方法。

对于我的执行环境,我不希望安装VS,因此需要安装VS TestAgent。我已经尝试过donet,dotnet-xunit,并且都需要csproj作为输入。

我实现了一个自定义XUnit特征(示例:如此处https://kenbonny.net/2016/12/20/creating-a-custom-xunit-trait/和其他多个地方所述)。我已经定义了Feature自定义特征,然后从该Trait中定义了几个扩展特征,即FeatureX特征,FeatureY特征。这样,TestMethod应该能够像

[Fact]
[FeatureX]
public void CanTest_FeatureX() {}

要从命令行运行测试,请使用以下命令运行测试-

vstest.console myTest.dll --testcasefilter:Feature = FeatureX

,测试成功运行。

现在,如果我有一个具有多个特征的测试,例如-

[Fact]
[FeatureX]
[FeatureY]
public void CanTest_FeatureX_and_FeatureY() {}

尝试从命令行运行测试-

vstest.console myTest.dll --testcasefilter:Feature = FeatureX,FeatureY    vstest.console myTest.dll --testcasefilter:Feature = FeatureX; FeatureY    vstest.console myTest.dll --testcasefilter:Feature = FeatureX --testcasefilter:Feature = FeatureY

以上所有命令均失败。对于第一个和第二个参数,我得到以下错误No test matches the given testcase filter。对于第三种情况,我看到错误The parameter "/TestCaseFilter" should be provided only once.

在此博客-https://blogs.msdn.microsoft.com/vikramagrawal/2012/07/23/running-selective-unit-tests-in-vs-2012-rc-using-testcasefilter/中找到了答案。

0 个答案:

没有答案