2009-06-22 4 views
3

Ich richte ein MSBuild-Projekt ein, um einen NUnit-Test mit der MSBuild Community Tasks Project auszuführen.Filter auf Kategorie für NUnit MSBuild Aufgaben?

Mit diesen Einstellungen werde ich der Lage sein, die NUnit Tests auszuführen:

<Target Name="Test" DependsOnTargets="Build"> 
    <CreateItem Include="$(ProjectTestDir)\$(ClassLibraryOutputDirectory)\*.Tests.dll"> 
     <Output TaskParameter="Include" ItemName="TestAssembly" /> 
    </CreateItem> 
    <NUnit Assemblies="@(TestAssembly)" /> 
</Target> 

... aber wie kann ich laufen nur bestimmte Tests - sagen die, die mit einer bestimmten Kategorie? Wir haben verschiedene Kategorien zu unseren Tests hinzugefügt - einige laufen ständig, andere laufen nur nachts.

Ich sehe keine Einstellungen, die mir erlauben, auf diese zu filtern, oder habe etwas übersehen ? Sicher haben einige von euch das gleiche Problem gehabt und es irgendwie gelöst? Es muss dieses msbuild Community-Aufgabenprojekt nicht verwenden.

Antwort

4

Wenn Sie im CHM suchen, gibt es eine IncludeCategory-Eigenschaft ... klingt nach dem, wonach Sie suchen? (Die CHM-Datei wird in C: \ Programme (x86) \ MSBuild \ MSBuildCommunityTasks) installiert

+0

Perfekt! Ich wusste, dass ich etwas vermisste - ich suchte nach Dokumentation, aber da war es :) –

+0

Wie kann ich dies für TFS 2012 Build Server und NUnit Tests anwenden? Soll ich die Tests mit 'Category (" IntegrationTest ")' -Attribut dekorieren (im Gegensatz zu 'TestCategory (" IntegrationTest ")' Attribut für MSTests), dann sollte der 'Testfall Filter' von' TestCategory! = IntegrationTest' die NUnit filtern ? Bonus: Wie geht das mit xUnit-Tests? Ich sehe keine Kategorieattribute. –

+1

@CsabaToth Für xunit gibt es ein 'TraitAttribute' und die' xunit' MSBuild Aufgabe erlaubt das Filtern über eine Eigenschaft AFAIK (Ich benutze persönlich den Konsolen-Runner, und es hat eine '/ -trait' Option in der Befehlszeilensyntax) . Ich werde nicht raten (oder meinen Verstand verschmutzen!), Indem Sie das MSTest-Äquivalent für Sie googlen. (BTW 'TraitAttribute' ist nicht' versiegelt', daher ist es üblich, entsprechende Attribute mit bekannten Keys (und Werten) zu rollen)) –