私は奇妙な問題に直面しています。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
.