2017-02-16 16 views
6

Mam projekt testowy .NET Core, który używa Xunit 2.2. Niektóre z moich testów są oznaczone cechami.Jak odfiltrować testy Xunit według cech za pomocą "testu dotnet"?

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

Jaka jest prawidłowa składnia wiersza poleceń dla "testu dotnet", aby uruchamiać tylko testy, w których cecha Kolor == Niebieski?

Używam .NET Core CLI 1.0.0-rc4, który używa csproj, a nie project.json.

Próbuję użyć dotnet test --filter $something, ale co mogę korzystać za USD czymś, widzę ten błąd:

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.

Odpowiedz

8

znalazłem odpowiedź:

dotnet test --filter TraitName=TraitValue 

Alternatywnie, można filtrować według nie o wartości cechę

dotnet test --filter TraitName!=TraitValue 

W moim przykładzie powyżej, to znaczy mogę uruchomić:

dotnet test --filter Color=Blue 

Więcej docs tutaj: https://github.com/Microsoft/vstest-docs/blob/master/docs/filter.md

+0

nadal pojawia się błąd about '(DisplayName, FullyQualifiedName)' dowolne wskazówki dlaczego jest uszkodzona (przy użyciu cli 1.0.3) – Damian

+0

N na pewno, potrzebowaliby więcej szczegółów. Aby obejść ten problem, możesz spróbować użyć 'dotnet-xunit'. Zobacz http://xunit.github.io/docs/getting-started-dotnet-core.html – natemcmaster

+2

Następujące prace: 'test dotneta --filter TraitName! = TraitValue' Jednak tylko tak długo, jak jest kilka testy udekorowane '[Trait (" TraitName "," somevalue ")]' w zespole testowym ... jeśli nie ma wtedy żadnych testów, wykonaj :-(. Prawdopodobnie błąd w teście dotnet? –

0

W csproj

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

linii poleceń

dotnet xunit -trait "Color=Blue" 
Powiązane problemy