Tôi có hai lớp thử nghiệm, MyFirstTest và MySecondTest. Chạy từng hoạt động độc lập tốt. Khi tôi chạy cả hai (trong eclipse chọn thư mục kiểm tra có chứa các tập tin này, nhấp chuột phải, chạy như junit), MySecondTest không thành công vì MyClass vẫn bị nhạo báng khi nó chạy thử nghiệm của nó. MyFirstTest yêu cầu MyClass phải được chế nhạo. MySecondTest yêu cầu MyClass không bị giả mạo. Tôi nghĩ tearDownMocks được giả sử là 'hủy bỏ' các lớp.MyClass vẫn giả lập giữa hai bài kiểm tra
public class MyFirstTest {
@Before
public void setUp() throws Exception {
Mockit.setUpMocks(MockMyClass.class);
}
@After
public void tearDown() throws Exception {
Mockit.tearDownMocks(MockMyClass.class);
}
@AfterClass
public static void tearDownAfterClass() throws Exception {
Mockit.tearDownMocks(MockMyClass.class);
}
@MockClass(realClass = MyClass.class, stubs = "<clinit>")
public static class MockMyClass {
...
public class MySecondTest {
'Tôi cũng thấy rằng việc thêm Mockit.tearDownMocks(); phương thức thiết lập lớp MySecondTest (được chú thích bằng Trước), đặt lại mocks để nó sẽ không sử dụng mô hình từ lớp trước. Bạn không chắc chắn tại sao các lời gọi Mockit.tearDownMocks (MockMyClass.class) từ bên trong các phương thức được chú thích bằng After và AfterClass đang rơi xuống ... ' – user1346730