gpt4 book ai didi

c# - NUnit3 测试不在 TFS 构建上运行

转载 作者:太空狗 更新时间:2023-10-29 22:00:16 25 4
gpt4 key购买 nike

我们目前正在将我们的单元测试从使用 MSTest 迁移到 NUnit(版本 3.2.1),但是从我们的 TFS .xaml 构建定义运行 NUnit 测试时遇到问题。 TFS 构建定义使用规则“在与 **\*.test*.dll 匹配的程序集中运行测试”。对于我的 NUnit 测试项目,我已经下载、安装并引用了以下 NuGet 包:

1) NUnit v3.2.1

2) NUnit3TestAdapter v3.0.10

在 VS(测试资源管理器)中执行我的测试非常完美,我认为这些步骤足以确保它们也作为 CI 构建的一部分在 TFS 上运行,但是测试从未执行过。我在诊断输出中没有与这些测试相关的错误/警告/消息,但是我确实看到构建过程检测到我的程序集作为单元测试的候选者,因为它符合上述通配符规则 (**\*.test *.dll)。

我还尝试将 NUnit3TestAdapter 程序集放在 TFS 的构建 Controller 属性中定义的“自定义程序集的版本控制路径”文件夹中,但无济于事。

任何人都可以看到我是否遗漏了这个过程中的一个步骤。从我在这些论坛上读到的所有内容来看,我似乎已经做了所有必要的事情,但他们仍然没有执行。

我通过直接在包含我的 NUnit 测试的程序集上运行 MSTest,exe(这是 TFS 构建使用的)大大简化了问题。有问题的程序集将适配器和 nunit 框架都安装为 NuGet 包,但 MsTest 仍然报告未找到任何测试(见下文):

C:\Users\hdav>"C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\MSTest.exe"/testcontainer:e:\MyCode\nunit\ExpectedExceptionExample\bin\Debug\ExpectedExceptionExample .dll

正在加载 e:\MyCode\nunit\ExpectedExceptionExample\bin\Debug\ExpectedExceptionExample.dll...

开始执行...

没有要执行的测试。

最佳答案

我遇到了同样的问题,发现测试项目的 pbd 文件需要存在才能让适配器发现测试。

虽然 .pbd 文件是在本地生成的,但构建(在本例中为 TF Build)正在向 MSBuild 参数提供 /p:DebugType=None 开关。删除开关允许在构建中发现和运行测试。你的构建定义中可以有类似的东西吗?

该问题已被接受为 bug在 GitHub 上。

关于c# - NUnit3 测试不在 TFS 构建上运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36913624/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com