You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

不借助vstest.console,使用Xunit.runner按标签筛选Specflow测试

解决方案

首先明确:xunit.runner.json本身并不支持配置测试筛选规则,这个文件的作用是控制测试运行的基础行为(比如并行执行、输出格式、是否显示跳过的测试等),预设筛选条件不在它的配置范围内。

针对你的需求,有几个替代方案可以实现类似效果:

1. 在项目文件中预设测试筛选器

直接在你的测试项目的.csproj文件里添加MSBuild属性,指定默认的测试筛选条件。这样每次执行dotnet test时,会自动应用这个筛选:

<PropertyGroup>
  <!-- 预设筛选Smoke标签的测试,可替换为Category=Regression -->
  <TestFilter>Category=Smoke</TestFilter>
</PropertyGroup>

如果需要临时跑其他标签的测试,只需要在命令行里覆盖这个参数:dotnet test --filter Category=Regression

2. 封装命令到脚本文件

创建一个简单的脚本(Windows用.bat,Linux/macOS用.sh),把带筛选的命令封装进去,每次运行脚本即可:

  • Windows脚本(run-smoke-tests.bat):
dotnet test --filter Category=Smoke
  • Linux/macOS脚本(run-smoke-tests.sh):
#!/bin/bash
dotnet test --filter Category=Smoke

需要执行Regression测试时,复制一份脚本修改筛选条件即可。

3. 利用Visual Studio测试探索器(仅IDE场景)

如果是在Visual Studio里运行测试,可以在测试探索器的搜索框输入Category:Smoke,然后点击"保存筛选器",之后直接选择保存好的筛选器就能快速运行对应标签的测试。

内容的提问来源于stack exchange,提问作者Kyle

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 17:05:21