4

我使用 Cake 作为构建脚本和 TeamCity 的 CI。我让 Cake 使用 NUnit 运行单元测试,然后 TeamCity 使用“xml 报告处理器”获取这些结果。

如您所见,它正在导入文件,但是缺少“测试”选项卡,因此我看不到测试输出。

我错过了一步吗?

4

4 回答 4

2

我的测试蛋糕任务就是这样,然后出现测试报告选项卡

NUnit3(testsDir.ToString() + "/*Tests.dll", new NUnit3Settings
{
    NoResults = true,
    NoHeader = true,
    Framework = "net-4.0",
    Workers = 5,
    Timeout = 10000
});

你真的需要报告xml吗?

于 2016-07-28T11:12:34.753 回答
2

这是 nunit 控制台的问题。我降级到 3.2.1,它现在可以工作了。

于 2016-07-28T15:17:41.777 回答
1

在我看来,您的测试未能正确执行(而不是在失败的测试中正确执行)。尝试在本地运行构建,然后检查 TestResult.xml 文件的内容。

如果看起来不错,请更改 TC 上的项目设置以将 xml 文件保存为工件,并将您在此处看到的内容与成功的本地运行进行比较。

最后,确保 TC 配置中的 XML 报告类型设置为 NUnit。

希望这会有所帮助,马克

于 2016-07-28T12:24:59.247 回答
0

当 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");
    }  
});
于 2016-10-30T03:35:15.603 回答