如何在 Bamboo 中运行 .NET Core 单元测试?
Posted
技术标签:
【中文标题】如何在 Bamboo 中运行 .NET Core 单元测试?【英文标题】:How can I run .NET Core unit tests in Bamboo? 【发布时间】:2018-04-16 14:10:30 【问题描述】:我们有一个 .NET Core 2.1 单元测试项目,其中包含一系列 NUnit 测试。我们正在使用 NUnit 3.10.1。
很遗憾,NUnit 控制台还不支持 .NET Core 项目。所以在 Bamboo 中运行测试的唯一方法是使用 dotnet test
命令:
dotnet test --logger "trx;LogFileName=testresults.trx"
所以我尝试通过在 Bamboo 构建中将其作为命令运行来做到这一点,它确实运行了,但是当它失败时,它只是说该步骤失败,而没有指定哪些测试导致它失败。
我创建了一个解析测试结果文件的步骤,但在到达此步骤之前构建失败。那么我应该如何设置才能看到测试结果呢?
我在Atlassian 的社区页面上问过这个问题,但没有得到任何有用的回复。
【问题讨论】:
【参考方案1】:我找到了解决方法。感觉不是 100% 正确,但似乎可以解决问题。欢迎任何更好的解决方案!
-
创建一个“命令”任务来运行
dotnet test
命令。
制作一个“MS Test Parser”任务来解析测试结果,并且(这里是基本部分:)将其移到“Final tasks”下,这样即使测试步骤失败,解析器也会执行.
【讨论】:
@Łukasz 因为当我使用 NUnit-Console 时,测试步骤是 Bamboo 中的单个任务;它运行测试并在同一步骤中解析它们。在这里,我们将步骤分开并在“finally”子句中运行第二步,这对我来说本能地感觉不对。 啊,好吧,我从来没有机会在一个任务中进行测试和解析。 我已采用此解决方案并且作业运行成功,但通过的 .NET Core 3.1 测试未出现在之后的结果中。它只显示失败的测试吗?以上是关于如何在 Bamboo 中运行 .NET Core 单元测试?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 NUnit 3 在 Atlassian Bamboo 中运行 NUnit Runner?
如何编写一个从另一个 Bamboo 计划获取内部版本号的新 Bamboo 计划?