2017-03-22 58 views
2

请参考下面的DOS命令:隐式运行单元测试

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

的.csproj的文件是这样的:

<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> 

如果我排除:/t:Test从DOS命令,然后生成成功连如果单元测试失败。如何确保在运行此命令的单元测试的运行:

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

只是要清楚,你在说什么NUnit的单元测试(而不是MSTest单元测试)? – alex

+0

@亚历克斯,谢谢。对,我是。我为这个问题添加了一个标签。 – w0051977

回答

0

答案只是添加一个AfterTargets属性如下:

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