将nunit结果导入teamcity with cake

将nunit结果导入teamcity with cake,nunit,teamcity,cakebuild,Nunit,Teamcity,Cakebuild,我使用Cake作为CI的构建脚本和TeamCity。 我正在使用NUnit运行单元测试,然后TeamCity使用“xml报告处理器”获取这些结果 正如您所看到的,它正在导入文件,但是缺少“测试”选项卡,因此我看不到测试输出 我是否遗漏了一个步骤?我的蛋糕测试任务就是这样,此时会出现“测试报告”选项卡 NUnit3(testsDir.ToString() + "/*Tests.dll", new NUnit3Settings { NoResults = true, NoHeade

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

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


我是否遗漏了一个步骤?

我的蛋糕测试任务就是这样,此时会出现“测试报告”选项卡

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

您真的需要报表xml吗?

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

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

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

希望这有帮助,
Mark

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

当Teamcity 9.X无法加载nunit 3 xml时,我遇到了类似的问题,因为旧版本的Teamcity report parser build功能不理解该格式

我通过将nunit结果转换为xunit使其工作!然后将文件作为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");
    }  
});

这依赖于NUnit的内置功能来检测它是否在TeamCity上运行,并提供正确的服务消息来上传测试结果,对吗?对于3.4以上的版本,您需要添加
#工具“nuget:?package=NUnit.Extension.TeamCityEventListener”
,感谢您的标记。不幸的是,测试故意失败。我引入了一个失败的测试,以查看报告是否在出现问题时生成。我可以确认TestResult.xml看起来不错,并且符合我的预期。我还是不想工作谢谢你对这件事的报道。可能值得使用此解决方案更新原始问题,或将其标记为可接受的答案。