nunit - 如何使用 --where for nunit 运行测试用例的子集
问题描述
对于我的项目,我想两次运行完全相同的测试用例,一次是在本地运行,一次是在云中并行的不同 VM 上(在我的情况下是 Azure)。
我复制了 TestCase 并标记了一个Category("Local")
和另一个Category("Cloud")
。因此,从控制台运行 nunit3--where="cat == Cloud"
将运行每个测试的所有 TestCases,该测试具有一个或多个带有Category("Cloud")
.
有没有通过命令行开关只运行选定的测试用例的不同方法?
简化示例:
[TestCase(TestName = "Canary, Run in cloud."), Category("Cloud")]
[TestCase(TestName = "Canary, Run locally."), Category("Local")]
public void Canary()
{
Assert.True(true);
}
解决方案
找到了解决方法。--params:Cloud=true
用作命令行参数并在代码中使用
private bool ShallRunInCloud => TestContext.Parameters["Cloud"]?.ToLowerInvariant() == "true";
推荐阅读
- javascript - 如何在 chrome 浏览器上使用 vs 代码在 webpack 上进行调试?
- java - Mongodb Groupby 不使用嵌套字段
- php - 从聊天类内部访问 Ratchet 循环
- express - Express 服务器上的错误 [ERR_HTTP_HEADERS_SENT]
- python - 在 Basemap 上绘制 netCDF4 数据
- mysql - 在 SQL 中合并重复行并使用重复数据填充新列
- c++ - C++/Win32:非前台窗口的键盘输入
- amazon-web-services - 如何在使用 Amplify 创建的 AWS lambda 函数上使用 chrome-aws-lambda
- python - 仅当 y 值大于 50 时如何在 matplot 中绘制数据
- python - 如何在python中比较像这样的特殊时间单位?