2017-03-22 3 views
2

Bitte den DOS-Befehl siehe unten:Implizit Einheit laufen Tests

C:\Windows\Microsoft.NET\Framework64\v4.0.30319\msbuild.exe WindowsFormsApplication1.csproj /t:Test 

Die CSPROJ Datei sieht wie folgt aus:

<PropertyGroup> 
     <NUnit3-ToolPath>C:\Development\C#\UnitTests\UnitTests\packages\NUnit.ConsoleRunner.3.6.1\tools</NUnit3-ToolPath> 
</PropertyGroup> 

    <Target Name="Test"> 
    <NUnit3 ToolPath="$(NUnit3-ToolPath)" Assemblies="C:\Development\C#\UnitTests\WindowsFormsApplication1\bin\Debug\UnitTests.dll" OutputXmlFile="test-results.xml" /> 
    </Target> 

Wenn ich ausschließen: /t:Test aus dem DOS-Befehl dann das Build erfolgreich selbst wenn die Komponententests fehlschlagen. Wie stelle ich sicher, die Unit-Tests ausgeführt werden, wenn dieser Befehl ausgeführt wird:

C:\Windows\Microsoft.NET\Framework64\v4.0.30319\msbuild.exe WindowsFormsApplication1.csproj 
+0

Nur klar zu sein, reden Sie NUnit Unit Tests (und nicht MSTest Unit Tests)? – alex

+0

@Alex, danke. Ja bin ich. Ich habe der Frage ein Tag hinzugefügt. – w0051977

Antwort

0

Die Antwort war nur ein AfterTargets hinzuzufügen Attribut wie folgt:

<Target Name="Test" **AfterTargets="Build">** 
    <NUnit3 ToolPath="$(NUnit3-ToolPath)" Assemblies="C:\Development\C#\UnitTests\WindowsFormsApplication1\bin\Debug\UnitTests.dll" OutputXmlFile="test-results.xml" /> </Target>