目前在Selenium + SpecFlow的项目中,Nunit测试开始使用 cake build v0.23.0 。需要使用NUnit结果.xml文件创建可以生成的SpecFlow报告。 Build将在TeamCity上执行。以下是我在构建蛋糕中的步骤:
/*Task("RunTests")
.IsDependentOn("Build")
.Does(() => {
NUnit3("./SampleProject/bin/Release/SampleProject.dll", new NUnit3Settings {
NoResults = true,
Where = "cat == PricingAppTests",
Process = NUnit3ProcessOption.InProcess
});
});*/
Task("RunTests")
.IsDependentOn("Build")
.Does(() => {
SpecFlowTestExecutionReport(tool => {
tool.NUnit3("./SampleProject/bin/Release/SampleProject.dll",
new NUnit3Settings {
Results = "testresults.xml",
Format = "nunit2",
Labels = NUnit3Labels.All,
OutputFile = "testoutput.txt"
});
}, project,
new SpecFlowTestExecutionReportSettings {
Out = "report.html"
});
});
第一部分(注释) - 这是在蛋糕配置中执行测试的当前工作步骤。 第二 - 这是我尝试创建SpecFlow报告的地方,以显示可理解的结果。这部分我从这个question开始。当我尝试执行此配置时,我在控制台中遇到这种错误:
Compiling build script...
错误:编译构建脚本时发生错误: C:/work/dcom-test-suite/build.cake(67,21):错误CS0117: 'NUnit3Result'不包含'ResultFormat'的定义 C:/work/dcom-test-suite/build.cake(68,21):错误CS0117:'NUnit3Result'不包含'标签'的定义 C:/work/dcom-test-suite/build.cake(69,21):错误CS0117:'NUnit3Result'不包含'OutputFile'的定义
任何人都可以帮我解决这个问题吗? 提前谢谢。
答案 0 :(得分:4)
Cake 0.22.0中引入了一个关于celery worker -A tasks -l info -P eventlet
的重大更改,这些更改尚未在您提供的链接中更新。有关详细信息,请参阅https://github.com/cake-build/cake/pull/1666。
您的代码现在看起来应该是这样的:
NUnit3Settings