TeamCity NUnitTestRunner 在 Mono 5.4.1 下崩溃
TeamCity NUnitTestRunner crashes with Mono 5.4.1
我想知道为什么我的 NUnit 测试在 30 秒后突然成功终止,而它们通常至少需要 20 分钟。然后我查看构建日志,发现在将我们的构建代理上的单声道版本升级到 v 5.4.1 后,测试运行器崩溃,退出代码为 134。
经过一些研究,我发现了以下内容:
- 测试运行器在使用 mono 4.8.1(我们也已安装)时工作,但测试代码无法编译
- Ì 还尝试像这样手动启动 erunner:/Library/Frameworks/Mono.framework/Versions/5.4.1/bin/mono -v /Applications/TeamCity/buildAgent/plugins/dotnetPlugin/bin/JetBrains.BuildServer.NUnitLauncher.exe
这给了我以下错误:[1] 3461 abort /Library/Frameworks/Mono.framework/Versions/5.4.1/bin/mono -v
每次重试时 3461
都会改变。
- 根据 this thread,退出代码 134 表示程序崩溃。
由于错误输出,我不确定是 TeamCity 测试运行程序崩溃、mono 崩溃还是 TeamCity 使 mono 崩溃。
感谢任何帮助:)
我终于自己弄明白了。显然,Mono 5.4.1 缺少 Mono 5.2 及更早版本附带的重要 NUnit2 组件。为了使测试再次运行,我必须添加 NUnit.Console
NuGet 包(不是 NUnit.ConsoleRunner
,因为它缺少所需的扩展)并更新 TeamCity 构建步骤以使用 nunit3-console
描述 here.
对于可能遇到此问题的其他人,我通过将 NUnit 构建步骤从 NUNit 2.6.3 更改为 NUnit 3.10 来解决此问题。我没有更改我的任何代码/包,只是 TC 配置。
我想知道为什么我的 NUnit 测试在 30 秒后突然成功终止,而它们通常至少需要 20 分钟。然后我查看构建日志,发现在将我们的构建代理上的单声道版本升级到 v 5.4.1 后,测试运行器崩溃,退出代码为 134。
经过一些研究,我发现了以下内容:
- 测试运行器在使用 mono 4.8.1(我们也已安装)时工作,但测试代码无法编译
- Ì 还尝试像这样手动启动 erunner:/Library/Frameworks/Mono.framework/Versions/5.4.1/bin/mono -v /Applications/TeamCity/buildAgent/plugins/dotnetPlugin/bin/JetBrains.BuildServer.NUnitLauncher.exe
这给了我以下错误:[1] 3461 abort /Library/Frameworks/Mono.framework/Versions/5.4.1/bin/mono -v
每次重试时 3461
都会改变。
- 根据 this thread,退出代码 134 表示程序崩溃。
由于错误输出,我不确定是 TeamCity 测试运行程序崩溃、mono 崩溃还是 TeamCity 使 mono 崩溃。
感谢任何帮助:)
我终于自己弄明白了。显然,Mono 5.4.1 缺少 Mono 5.2 及更早版本附带的重要 NUnit2 组件。为了使测试再次运行,我必须添加 NUnit.Console
NuGet 包(不是 NUnit.ConsoleRunner
,因为它缺少所需的扩展)并更新 TeamCity 构建步骤以使用 nunit3-console
描述 here.
对于可能遇到此问题的其他人,我通过将 NUnit 构建步骤从 NUNit 2.6.3 更改为 NUnit 3.10 来解决此问题。我没有更改我的任何代码/包,只是 TC 配置。