【问题标题】:nunit-console hangs when tests are run using typemock使用 typemock 运行测试时,nunit-console 挂起
【发布时间】:2023-10-02 08:53:01
【问题描述】:

我有一个类似下面的 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

这让我相信我的测试运行良好,但问题可能是返回退出代码。知道这里可能会发生什么吗?

【问题讨论】:

  • 免责声明,我在 Typemock 工作。您可以在启用 Typemock 日志的情况下运行它。像这样:并将日志发送到support@typemock.com
  • @Al.exe 谢谢。正如下面的回答中提到的,事实证明这不是 typemock 问题。

标签: msbuild nunit-console typemock typemock-isolator


【解决方案1】:

结果证明这不是 Typemock 问题。这是由于我们使用的 Nunit 代理版本。

我们有一个旧的 v2.5.8 版本的 Nuget,它默认使用 .net 框架 2.0。诀窍是修改此answer 中提到的代理配置文件以引用.net framework 4.0。这为我解决了这个问题。

【讨论】:

    最近更新 更多