我正在设置项目以使用bamboo进行CI测试,但在尝试编译单元测试时遇到了麻烦。我们正在使用.NET framework 4.5
和NUnit v2.6.3.13283
。当我在bamboo时,我已经设置了特定的工作来在推送新提交时检查源代码,然后使用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]
等
答案 0 :(得分:3)
你需要使用以前的任务来建立MSBuild(也许你可以考虑使用VisualStudio任务,它就像魅力一样)。
这个上一个任务是一个命令任务,它将更新与NuGet包相关的Dll,以实现它:
在我的方法中,我使用的是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