如何配置Bamboo来构建NUnit测试?

时间:2014-09-02 20:25:07

标签: c# msbuild continuous-integration nunit bamboo

我正在设置项目以使用进行CI测试,但在尝试编译单元测试时遇到了麻烦。我们正在使用.NET framework 4.5NUnit v2.6.3.13283。当我在时,我已经设置了特定的工作来在推送新提交时检查源代码,然后使用MSBuild来构建代码。不幸的是,当它到达第二步时,它决定它不再理解NUnit是什么。

我在同一个目录(bin \ Debug)中有nunit.framework.dll和类.dll,所以我很清楚如何让MSBuild解决问题NUnit测试。

任何帮助都将不胜感激。

编辑:错误日志表示那些心虚的人。

  

c:\ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ Csc.exe / noconfig   / nowarn:1701,1702 / nostdlib + / platform:AnyCPU / errorreport:prompt   /警告:4 /定义:DEBUG; TRACE   /reference:c:\Windows\Microsoft.NET\Framework\v4.0.30319\mscorlib.dll   /reference:C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Core\v4.0_4.0.0.0__b77a5c561934e089\System.Core.dll   / reference:" C:\ build-dir \ UCL-UNL-JOB1 \ Unit Class   Library \ bin \ Debug \ Unit Class Library.dll" / debug + / debug:full   / filealign:512 / optimize-   /out:obj\Debug\UnitClassLibraryNUnitTests.dll / target:library   AngleNUnitTests.cs   " C:\用户\竹\应用程序数据\本地\ Temp.NETFramework,版本= v4.5.AssemblyAttributes.cs"

     

AngleNUnitTests.cs(5,7):错误CS0246:类型或命名空间名称   ' NUnit的'找不到(你是否错过了使用指令或者   装配参考?)   [C:\积聚DIR \ UCL-UNL-JOB1 \ UnitClassLibraryNUnitTests \ UnitClassLibraryNUnitTests.csproj]

     

AngleNUnitTests.cs(12,10):错误CS0246:类型或命名空间名称   '测试'找不到(你是否错过了使用指令或者   装配参考?)   [C:\积聚DIR \ UCL-UNL-JOB1 \ UnitClassLibraryNUnitTests \ UnitClassLibraryNUnitTests.csproj]

3 个答案:

答案 0 :(得分:3)

你需要使用以前的任务来建立MSBuild(也许你可以考虑使用VisualStudio任务,它就像魅力一样)。

这个上一个任务是一个命令任务,它将更新与NuGet包相关的Dll,以实现它:

  1. 在Bamboo上创建一个新的可执行文件,指向nuget.exe文件(如果你没有,可以从https://www.nuget.org/下载
  2. 使用您在上一步中创建的可执行文件创建一个新的命令任务。
  3. 在参数字段中:"恢复YourSolution.sln"
  4. 在我的方法中,我使用的是VisualStudio任务,之后是MSTest Runner任务。

答案 1 :(得分:0)

我猜你在使用NuGet? 如果是这样,您需要启用NuGet包还原,因为MSBuild不知道如何解析这些NuGet包。这将在您的解决方案中创建一个.nuget目录,该目录需要被推送到Bamboo用于构建的存储库。

使用bamboo配置NUnit测试运行器时遇到的第二个问题:nunit-console.exe使用的.NET Framework 3.5未安装在我的构建服务器上。

答案 2 :(得分:0)

将Nuget与源代码存储库一起使用时,您有几个选择。

1)检查你的nuget可执行文件中的源代码并创建一个bamboo命令任务,该任务调用相对于构建目录的位置,$ {bamboo.build.working.directory} \ tools \ Nuget.exe。

2)直接在构建服务器上安装Nuget exe。然后,您可以在Bamboo上创建一个可以在任何任务中引用的新可执行文件。

要创建用于任务的新可执行文件,请使用此 - https://confluence.atlassian.com/display/BAMBOO/Defining+a+new+executable+capability