【发布时间】:2021-09-02 09:32:21
【问题描述】:
我有一些默认情况下不想运行的测试(在 dotnet test 命令上)
只有在某些参数由环境变量或其他过滤器(如测试类别)明确设置时,才应运行这些测试。
这个项目有单元测试 (SomeTests) 以及一些具有外部依赖关系的测试 (SomeTests2)。所以我只想在设置了某些参数时才运行 SomeTests2。
解决方案中有多个单元测试项目,它们都没有定义类别。所以我只能在解决方案上做一个“dotnet测试”来运行所有的测试,当时我想忽略 SomeTests2
[TestClass] //Always Run
Class SomeTests
{
[TestMethod]
public void test1(){}
}
[TestClass] //Run ONLY if some parameter is set (eg. environment var or some other param)
Class SomeTests2
{
[TestMethod]
public void test1(){}
[TestMethod]
public void test1(){}
}
我知道理想的方法是将它们拆分为多个测试项目,但有没有其他方法可以在不拆分的情况下做到这一点?
【问题讨论】: