.net core 你如何用“特征”筛选xunit测试;网络测试;?

.net core 你如何用“特征”筛选xunit测试;网络测试;?,.net-core,xunit,.net Core,Xunit,我有一个使用XUnit2.2的.NET核心测试项目。我的一些测试带有特征 [Fact] [Trait("Color", "Blue")] public void TestBlue() { } “dotnet测试”的正确命令行语法是什么,它只运行trait Color==Blue的测试 我使用的是.NET Core CLI 1.0.0-rc4,它使用的是csproj,而不是project.json 我正在尝试使用dotnet测试--filter$something,但无论我对$something

我有一个使用XUnit2.2的.NET核心测试项目。我的一些测试带有特征

[Fact]
[Trait("Color", "Blue")]
public void TestBlue()
{
}
“dotnet测试”的正确命令行语法是什么,它只运行trait Color==Blue的测试

我使用的是.NET Core CLI 1.0.0-rc4,它使用的是csproj,而不是project.json

我正在尝试使用
dotnet测试--filter$something
,但无论我对$something使用什么,我都会看到以下错误:

错误:[xUnit.net 00:00:00.7800155]E2ETests:异常筛选测试:没有与筛选器匹配的测试,因为它包含一个或多个无效属性($something)。请指定包含有效属性(DisplayName、FullyQualifiedName)的筛选器表达式,然后重试

我找到了答案(只有
[特质(“TraitName”、“TraitValue”)]
测试被执行):

或者,您可以通过不具有特征值进行筛选(属性化测试
[特征(“TraitName”,“TraitValue”)]
被从运行中排除)

在我上面的示例中,这意味着我可以运行:

dotnet test --filter Color=Blue
此处有更多文档:

在csproj中

<PropertyGroup>
  <TargetFramework>netcoreapp2.0</TargetFramework>
</PropertyGroup>
<ItemGroup>
  <PackageReference Include="xunit" Version="2.3.0" />
  <DotNetCliToolReference Include="dotnet-xunit" Version="2.3.0" />
</ItemGroup>

我仍然得到关于
(DisplayName,FullyQualifiedName)
的错误。任何关于此错误原因的指针(使用cli 1.0.3)都不确定,需要更多详细信息。作为一种解决方法,您可以尝试改用
dotnetxunit
。请参阅以下作品:
dotnet测试--filter TraitName=TraitValue
但是,只要测试程序集中有一些用
[Trait(“TraitName”,“somevalue”)]修饰的测试,
。。。如果没有,则不会运行任何测试:-(.可能是dotnet测试中的错误?对于任何使用过滤器排除具有特定属性的测试而遇到问题的人,当前存在问题中描述的工具的错误,该问题现在被列为已关闭(截至2017年6月9日)。
dotnet test --filter Color=Blue
<PropertyGroup>
  <TargetFramework>netcoreapp2.0</TargetFramework>
</PropertyGroup>
<ItemGroup>
  <PackageReference Include="xunit" Version="2.3.0" />
  <DotNetCliToolReference Include="dotnet-xunit" Version="2.3.0" />
</ItemGroup>
dotnet xunit -trait "Color=Blue"