我需要一种从命令行指定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.
。