16

我最近更新到TeamCity 9.1.6以运行基于NUnit 3.2.1的新单元测试。但现在我无法运行测试:

我在构建步骤中选择了 NUnit3 执行器,并进行了相应的配置:

构建步骤配置

构建时,出现错误:“无法加载文件或程序集‘nunit.framework’或其依赖项之一。系统找不到指定的文件。” .

构建日志

一切都应该没问题,路径没问题,程序集在测试程序集的路径中,一切都内置在 AnyCPU 配置中。还有一个错误指出 NUnit 版本不是发布版本,我认为这是胡说八道,它是 NUnit 网站上的发布。并且该错误似乎并没有破坏任何东西(即使我在“nunit.framework”错误之前出现错误,并且当我修复了那个错误时,它也存在,构建更进一步)。

任何线索表示赞赏!

更新: 使用命令行运行程序运行测试并运行相同的 nunit3-console.exe 工作正常。所以我想这是一个 NUnit runner 特定的问题。不过,欢迎就如何解决此问题提出建议。

更新 2: 我尝试将 TeamCity 使用的解决方案包和 NUnit-Console 降级到 3.0.0 - 仍然是相同的结果。

更新 3: 正如我所怀疑的,TeamCity 支持确认有关“不支持 NUnit 版本”的消息是错误的,不应该影响任何事情。

4

3 回答 3

43

我对 TeamCity 10.0.1(内部版本 42078)和 NUnit 3.4.1 有同样的问题。结果完全是我的错。我在这里发布它,因为其他人可能会遇到同样的问题,这可以节省他们一些时间。

原来问题出"Run tests from: "在我的构建配置中的设置中。

在此处输入图像描述

我有**\*.Test.dll。那是意外地为目录拾取 dll \obj\**\(其中不存在 nunit.framework.dll)。一旦我将设置更改为**\bin\%BuildConfiguration%\*.test.dll一切正常。

注意:%BuildConfiguration% 是一个参数,用于指定您在 TC 上的首选构建配置(如 Debug / Release / CIBuild 等)

于 2016-08-25T17:52:03.983 回答
6

在与 TeamCity 技术支持人员进行了长时间的电子邮件讨论后,我们找到了解决方案。我已收到通知,他们已在即将发布的 TC10 版本(将于 2016 年 6 月末发布)中解决了此问题,目前有一些解决方法可以解决此问题。

我试过第二个,它对我有用。

  1. 仅在相对于 checkout 目录的嵌套目录中运行测试(例如,您可以在之前复制它们)

  2. 将构建配置参数添加nunit_use_project_fileFalse

    编辑参数弹出窗口

    也就是说,我去我的测试构建和运行项目,去参数部分并将新参数“nunit_use_project_file”添加为False。测试现在在 NUnit3 构建步骤运行器下运行。

于 2016-05-06T10:06:35.843 回答
0

如果您的 packages.config 中还没有 Nunit3 和 Nunit.Console(Runner),您应该使用包管理器将其“安装”到您的项目中。

然后按照其他答案中有关为 Nunit.ConsoleRunner 创建“自动检测”步骤的说明进行操作。https://stackoverflow.com/a/38862220/3794873

于 2016-11-15T15:22:50.803 回答