2017-02-16 5 views
6

私はXunit 2.2を使用する.NETコアテストプロジェクトを持っています。私のテストの中には特色があります。"dotnet test"でxunitテストをどのように特性でフィルタリングしますか?

[Fact] 
[Trait("Color", "Blue")] 
public void TestBlue() 
{ 
} 

「dotnet test」の正しいコマンドライン構文は、trait Color == Blueのテストを実行するだけですか?

私は、project.jsonではなくcsprojを使用する.NET Core CLI 1.0.0-rc4を使用しています。私は答えた

Error: [xUnit.net 00:00:00.7800155] E2ETests: Exception filtering tests: No tests matched the filter because it contains one or more properties that are not valid ($something). Specify filter expression containing valid properties (DisplayName, FullyQualifiedName) and try again.

答えて

8

::私は$の何かのために使うものは何でも

私は dotnet test --filter $somethingを使用しようとしている

、しかし、私はこのエラーが表示代わり

dotnet test --filter TraitName=TraitValue 

を、次の方法でフィルタリングすることができます形質値

dotnet test --filter TraitName!=TraitValue 

を有しないここ

dotnet test --filter Color=Blue 

その他のドキュメント:https://github.com/Microsoft/vstest-docs/blob/master/docs/filter.md

+0

、私はまだエラーを取得する上記の私の例では、これは私が実行できることを意味します'(DisplayName、FullyQualifiedName)'について、これがなぜ壊れているのかを示すポインタ(cli 1.0.3を使用) – Damian

+0

N確かに、詳細が必要です。回避策として、代わりに 'dotnet-xunit'を使用してみてください。 http://xunit.github.io/docs/getting-started-dotnet-core.htmlを参照してください。 – natemcmaster

+2

以下は動作します: 'dotnet test --filter TraitName!= TraitValue' ただし、テストアセンブリ内で '[Trait(" TraitName "、" somevalue ")]'で修飾されたテスト...実行されないテストがある場合:-(ドットネットテストのバグでしょうか? –

0

csprojで

<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" 
関連する問題