运行 vstest.console.exe 时如何过滤 NUnit 测试
Posted
技术标签:
【中文标题】运行 vstest.console.exe 时如何过滤 NUnit 测试【英文标题】:How can I am filter NUnit tests when running vstest.console.exe 【发布时间】:2021-04-21 07:45:42 【问题描述】:2
1 我有一套自动化测试(一些使用 SpecFlow,一些使用 NUnit),作为我的 TFS 构建的一部分运行(使用 Visual Studio Online,使用托管构建代理)。
我的一些测试(验收测试,而不是单元测试)无法在构建服务器上执行,因为它们假设了登录系统的用户的凭据。
我希望能够从我的运行中过滤掉这些测试,并运行除本地测试之外的所有测试。
为了实现这一点,我将[Category("LocalOnly")]属性添加到TFS服务器要忽略的测试中,并在构建中设置测试任务(新的预览构建机制)添加如下开关:/TestCaseFilter:"TestCategory!=LocalOnly"。
除非它不起作用,即使我相信它应该。如果我使用等号设置过滤器,它不会运行任何东西,如果我使用不等号,它会运行所有东西。过滤器似乎不起作用。
我还尝试使用 vstest.console.exe 在我的机器上本地运行它,结果完全相同,所以这不是 TFS 的问题)。
根据 Visual Studio 发行说明的 NUnit 适配器,此问题已得到修复,但我没有看到任何证据。
知道如何解决这个问题吗?
【问题讨论】:
嗨@ArslanAsh,进展如何? “dotnet test”命令有效吗? 【参考方案1】:我还尝试使用 vstest.console.exe 在我的机器上本地运行它,结果完全相同,所以这不是 TFS 的问题。
也许您也可以在本地尝试带有选项“--filter
”的“dotnet test
”命令,看看它是否可以工作。详情请见here。
dotnet test --filter TestCategory!=LocalOnly
如果可行,请在管道中尝试相同的命令。
如果它也不起作用,我建议您可以在“microsoft/vstest”存储库中报告问题以获得更多帮助。
【讨论】:
以上是关于运行 vstest.console.exe 时如何过滤 NUnit 测试的主要内容,如果未能解决你的问题,请参考以下文章
vstest.console.exe 忽略 app.config
vsts xunit vstest.console.exe失败,返回码为:1