2017-02-16 43 views
6

Xunit 2.2 kullanan bir .NET Core test projem var. Bazı testlerim özelliklerle işaretlendi.Xunit testlerini "dotnet test" ile nasıl filtrelersiniz?

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

yalnızca çalışma testlere "dotnet test" için doğru komut satırı sözdizimi nedir nerede özellik Renk == Mavi?

Ben project.json değil, csproj kullanan .NET Core CLI 1.0.0-rc4 kullanıyorum. Ben cevap buldu

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.

cevap

8

: Ben $ şey için kullanmak ne olursa olsun

Ben dotnet test --filter $something kullanmaya çalışıyorum

ama, şu hatayı görüyorum Alternatif

dotnet test --filter TraitName=TraitValue 

aşağıdaki kriterlere göre filtreleme yapabilirsiniz bir özellik değeri

dotnet test --filter TraitName!=TraitValue 

olmamasından Burada

dotnet test --filter Color=Blue 

Daha docs: https://github.com/Microsoft/vstest-docs/blob/master/docs/filter.md

+0

Hala hatayı alıyorum yukarıda benim örnekte, bu şimdiye çalıştırmak anlamına gelir hakkında (displayName, FullyQualifiedName) 'hakkında herhangi bir işaretçi (bu 1.0.3) kullanarak bu kırık (1.0.3 kullanarak) – Damian

+0

N Elbette, daha fazla ayrıntıya ihtiyacım var. Bir geçici çözüm olarak, yerine 'dotnet-xunit' kullanmayı deneyebilirsiniz. Bkz http://xunit.github.io/docs/getting-started-dotnet-core.html – natemcmaster

+2

aşağıdaki çalışır:! TRAITNAME --filter 'dotnet testi = TraitValue' Ancak sadece sürece bazı olduğu gibi test grubunda "Trait (" TraitName "," somevalue ")]' ile test edilen testler ... eğer test yapmazsanız o zaman hiçbir test çalıştırılamaz :-(.Servnet testinde bir hata olabilir mi? –

0

csproj olarak

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

komut satırı

dotnet xunit -trait "Color=Blue"