我使用 Cake 作为构建脚本和 TeamCity 的 CI。我让 Cake 使用 NUnit 运行单元测试,然后 TeamCity 使用“xml 报告处理器”获取这些结果。
如您所见,它正在导入文件,但是缺少“测试”选项卡,因此我看不到测试输出。
我错过了一步吗?
我的测试蛋糕任务就是这样,然后出现测试报告选项卡
NUnit3(testsDir.ToString() + "/*Tests.dll", new NUnit3Settings
{
NoResults = true,
NoHeader = true,
Framework = "net-4.0",
Workers = 5,
Timeout = 10000
});
你真的需要报告xml吗?
这是 nunit 控制台的问题。我降级到 3.2.1,它现在可以工作了。
在我看来,您的测试未能正确执行(而不是在失败的测试中正确执行)。尝试在本地运行构建,然后检查 TestResult.xml 文件的内容。
如果看起来不错,请更改 TC 上的项目设置以将 xml 文件保存为工件,并将您在此处看到的内容与成功的本地运行进行比较。
最后,确保 TC 配置中的 XML 报告类型设置为 NUnit。
希望这会有所帮助,马克
当 Teamcity 9.X 无法加载 nunit 3 xml 时,我遇到了类似的问题,因为旧版本的 teamcity 报告解析器构建功能不理解该格式。
我通过将nunit结果转换为xunit 链接到 xslt来让它工作!并将文件作为junit结果导入。
Task("Run-Unit-Tests")
.Does(() =>
{
DotNetCoreTest("./Project");
}).Finally(() =>
{
XmlTransform("./nunit3-xunit.xslt", "./TestResult.xml", "./NUnit.WebApp.FunctionnalTests.TestResult.xml");
if(TeamCity.IsRunningOnTeamCity)
{
TeamCity.ImportData("junit","./NUnit.WebApp.FunctionnalTests.TestResult.xml");
}
});