我有一个很奇怪的问题,当我尝试使用多个测试用例运行 JUnit 测试时,它只会通过第一个测试用例并显示 IndexOut of Bound
错误
public class ABCTest {
@Test
public void basicTest1(){...}
@Test
public void basicTest2(){...}
...
但是如果我推荐剩下的测试用例,一个一个测试它们,它会全部通过。
public class ABCTest {
@Test
public void basicTest1(){...}
//@Test
//public void basicTest2(){...}
//...
最佳答案
由于您没有提供完整的测试用例和实现类,我不得不做一些假设。
很可能您正在通过测试用例改变被测对象的状态。
通常您会尝试为每个单元测试获取一个干净的测试夹具。这通过使用带有 @Before 注释的方法来工作,该方法创建被测类的新实例。 (这在旧版本的 junit 中称为“setUp()”。)
这确保了测试方法的执行顺序和执行次数无关紧要,并且每个方法都是独立工作的。
关于java - Junit 测试不能一次通过所有测试用例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19430888/