我正在为我正在开发的一个类编写单元测试。另一位开发人员正在为他正在开发的方法开发同一类的其他测试。所以我们的测试发现自己在同一个 JUnit 测试类中。
所以我想做的是建立一个测试套件来运行我的测试,而我正在开发作为一种临时措施。我为我的测试创建了一个类别并将它们标记为这样。然后我创建了一个类作为我的测试套件。我告诉它包括属于这个类别的测试。当我运行它时,它仍然运行一切。有很多测试,所以用@Ignore 标记所有我不想运行的测试会很乏味。有没有办法说只运行一个类别中的测试而不运行其他测试?
我正在为我正在开发的一个类编写单元测试。另一位开发人员正在为他正在开发的方法开发同一类的其他测试。所以我们的测试发现自己在同一个 JUnit 测试类中。
所以我想做的是建立一个测试套件来运行我的测试,而我正在开发作为一种临时措施。我为我的测试创建了一个类别并将它们标记为这样。然后我创建了一个类作为我的测试套件。我告诉它包括属于这个类别的测试。当我运行它时,它仍然运行一切。有很多测试,所以用@Ignore 标记所有我不想运行的测试会很乏味。有没有办法说只运行一个类别中的测试而不运行其他测试?
我认为您可以实现自己的“org.junit.runner.RunWith”,然后注释您的测试类以根据需要使用它。
@RunWith(MyRunnerClass.class)
注意:这里正确的解决方案是在上面关于代码分支等的注释中。
您可以编写一个包装器测试类,该方法调用主测试类(仅您的方法),然后在包装器类上运行 Junit 测试。
public class MainTestClass {
@Test
public void yourFirstTest() {
...
}
@Test
public void yourSecondTest() {
...
}
@Test
public void otherFirstTest() {
...
}
}
public class WrapperTestClass {
@Test
public void yourFirstTest() {
new MainTestClass().yourFirstTest();
}
@Test
public void yourSecondTest() {
new MainTestClass().yourSecondTest();
}
}