Nunit3TestAdapter和TFS Build vNext:获取警告:在VS Test步骤中找不到依赖程序集nunit.framework

时间:2016-08-24 16:06:12

标签: tfs nunit tfsbuild

过去几天我一直在搜索各种Nunit文章,试图找出为什么我的Nunit测试没有运行的问题。

我正在使用TFS 2015 Build vNext引擎和Visual Studio Test步骤来执行我的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构建解决方案时无错误地编译。

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

警告:E:\ TFSBuild_Directory \ 14 \ 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似乎位于预期的文件路径中。

关于可能导致此问题的任何想法?任何意见都表示赞赏!

2 个答案:

答案 0 :(得分:1)

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

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

  2. 在“Visual Studio测试”任务中,在“自定义测试适配器的路径”中指定SELECT student_id,b.* from pick_max_Date cross apply (select max(d) from (values(date1),(date2),(date3),(date4))v(d) )b(maxx) 。好像在sources目录中有一个packages文件夹,它会自动搜索testadapters(看起来你有一个很长的路径,你可能需要检查它。)

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

  4. enter image description here

    此过程中未发生任何错误或警告。你可以将我的步骤与我的步骤进行比较并纠正你的步骤希望这会对你有所帮助。

答案 1 :(得分:1)

好的 - 在离开问题并以新鲜的眼睛回到它之后,我发现问题导致了nunit.framework.dll问题。

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