我面临一个奇怪的问题。我有一个基于ArrayList的ErrorCollector。我想在所有测试结束时抛出错误收集器收集的累积错误。
为此,我写了类似的东西:
private static int noOfErrors;
@Before
public void setUp() {
MockitoAnnotations.initMocks(this);
this.mockMvc = MockMvcBuilders.standaloneSetup(myController).build();
collector = new MyErrorCollector();
}
@After
public void tearDown() {
noOfErrors = noOfErrors + collector.getErrorCount();
for (Throwable error : collector.getErrors()) {
System.out.println(error.getMessage());
}
collector = null;
}
@AfterClass
public static void finalTearDown(){
assertEquals(noOfErrors, 0);
}
但即使在我的@After
方法中,assertEquals
方法中非零,@AfterClass
方法中收集的错误也没有失败。在调试时,它在noOfErrors
方法中显示非零tearDown
,反之亦然finalTearDown
。