我有一个像下面这样的msbuild项目,通过它我可以在typemock隔离下运行单元测试。
<PropertyGroup>
<NunitOutputCode>0</NunitOutputCode>
</PropertyGroup>
<ItemGroup>
<UnitTestAssemblies Include="$(PathOutputAssemblies)\*.UnitTests.dll"/>
</ItemGroup>
<TypeMock.MSBuild.TypeMockStart />
<Exec Command='"C:\program files (x86)\NUnit 2.5.8\bin\net-2.0\nunit-console.exe" /nologo /noshadow /labels "@(UnitTestAssemblies)" /exclude=SpecialEnvironmentNeeded,FailingToBeAddressed,NotApplicationTest,PerformanceTest'
WorkingDirectory="%(RootDir)%(Directory)"
ContinueOnError="true">
<Output TaskParameter="ExitCode" PropertyName="NunitOutputCode"/>
</Exec>
<TypeMock.MSBuild.TypeMockStop />
然而,当我运行它时,单元测试运行然后该过程只是挂起,永远不会返回。我看到控制台挂起时的输出如下所示。
Tests run: 9, Errors: 0, Failures: 0, Inconclusive: 0, Time: 1.1281699 seconds
Not run: 0, Invalid: 0, Ignored: 0, Skipped: 0
这让我相信我的测试运行正常,但问题可能是返回退出代码。知道这里可能会发生什么吗?
答案 0 :(得分:0)
原来这不是一个Typemock问题。这是由于我们使用的Nunit代理版本。
我们有一个旧的v2.5.8版本的Nuget,它默认使用.net framework 2.0。诀窍是修改代理配置文件,如answer中所述,以引用.net framework 4.0。这解决了我的问题。