运行 vstest.console.exe 时如何过滤 NUnit 测试

时间:2021-01-16 13:44:56

标签: tfs azure-devops nunit tfsbuild vstest

2

1 我有一套自动化测试(一些使用 SpecFlow,一些使用 NUnit),作为我的 TFS 构建的一部分运行(使用 Visual Studio Online,使用托管构建代理)。

我的一些测试(验收测试,不是单元测试)无法在构建服务器上执行,因为它们假设登录系统的用户的凭据。

我希望能够从我的运行中过滤掉这些测试,并运行除本地测试之外的所有测试。

为了实现这一点,我在要被TFS服务器忽略的测试中添加了[Category("LocalOnly")]属性,并在构建中设置测试任务(新的预览构建机制)添加以下内容开关:/TestCaseFilter:"TestCategory!=LocalOnly"。

除非它不起作用,即使我相信它应该起作用。如果我用等号设置过滤器,它什么都不运行,如果我使用不等号,它运行一切。过滤器似乎不起作用。

我也尝试在我的机器上本地运行它,使用 vstest.console.exe,结果完全相同,所以这不是 TFS 的问题。

根据 Visual Studio 发行说明的 NUnit 适配器,此问题已得到修复,但我看不到任何证据。

知道如何解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

<块引用>

我也尝试在我的机器上本地运行它,使用 vstest.console.exe,结果完全相同,所以这不是 TFS 的问题。

也许您也可以在本地尝试带有选项“dotnet test”的“--filter”命令,看看它是否可以工作.如需了解详情,请参阅here

dotnet test --filter TestCategory!=LocalOnly

如果有效,请在您的管道中尝试相同的命令。

如果它也不起作用,我建议您可以在“microsoft/vstest”存储库中报告问题以获得更多帮助。

相关问题