将nunit结果导入teamcity with cake
我使用Cake作为CI的构建脚本和TeamCity。 我正在使用NUnit运行单元测试,然后TeamCity使用“xml报告处理器”获取这些结果 正如您所看到的,它正在导入文件,但是缺少“测试”选项卡,因此我看不到测试输出将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
我是否遗漏了一个步骤?我的蛋糕测试任务就是这样,此时会出现“测试报告”选项卡
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看起来不错,并且符合我的预期。我还是不想工作谢谢你对这件事的报道。可能值得使用此解决方案更新原始问题,或将其标记为可接受的答案。