Nunit3TestAdapter 和 TFS Build vNext:收到警告:在 VS 测试步骤中找不到相关程序集 nunit.framework

Nunit3TestAdapter and TFS Build vNext: Getting a warning: Dependent Assembly nunit.framework not found within VS Test step

过去几天我一直在搜索各种 Nunit 文章,试图弄清楚为什么我的 Nunit 测试没有 运行ning。

我正在使用 TFS 2015 Build vNext 引擎和 Visual Studio 测试步骤来执行我的 Nunit 测试用例。用于生成 Nunit 测试 dll 的 VS 2015 解决方案包含几个 .net 项目和 2 个 Nunit 测试项目。 Nunit3.0 和 Nunit3.0 测试 Nuget 包用于创建和执行测试。 Here is the nuget configuration and nunit.framework reference in my Visual Studio 2015 solution。测试用例 运行 在 Visual Studio IDE 中很好,并且在 vNext 中构建解决方案时编译没有错误。

在 Build vNext 中执行 VS 测试步骤时,我收到以下警告:

警告:E:\TFSBuild_Directory\s\EBS\B_WebEnable\ABC.Data\ABC.Data.Core.Nunit.Tests\obj\UnitTesting\ABC 的依赖程序集 nunit.framework .Data.Core.Nunit.Tests.dll 未找到。如果不是 NUnit 项目可以忽略。

配置VS测试步骤: VS Test Step Configuration

我已经在构建服务器上确认 nuget 包正在恢复到构建服务器并且 Nunit.framework.dll 与我的本地路径相比似乎位于预期的文件路径中。

关于可能导致此问题的原因有什么想法吗?感谢任何输入!

我已经从 Nuget 恢复了 Nunit 和 Nunit3TestAdapter 以在我这边进行测试,但无法重现您的问题。我想在这里分享我的步骤供您参考:

  1. 从 VS 中的 Nuget 恢复 Nunit 和 Nunit3TestAdapter 用于测试项目(作为您的第一个屏幕截图),并签入 packages.config 文件。

  2. 在"Visual Studio Test"任务中,在"Path to Custom Test Adaptors"中指定$(Build.SourcesDirectory)\packages。好像sources目录下有packages文件夹,自动搜索testadapters(看来你的路径很长,可能需要查一下)

  3. 我使用默认的VS模板:

在此过程中没有发生错误或警告。您可以将您的步骤与我的步骤进行比较并更正您的步骤。希望对你有帮助。

好的 - 在离开这个问题并以新的眼光重新审视它之后,我发现了导致 nunit.framework.dll 问题的问题。

在逐步完成构建定义后,我忘记了我在构建步骤中有一个 MSBuild 参数正在将编译后的输出复制到另一个位置 /p:OutDir=$(build.stagingDirectory)\美国广播公司。将测试步骤更改为指向新位置后,一切正常。感谢大家的反馈!