Tôi có một lớp thử nghiệm (dựa trên TestNG), nơi tôi sử dụng Mockito.verify
cho một đối tượng gián điệp.Đặt lại Mockito Spy
này hoạt động:
public class Program {
@Spy
private TestObject testObject;
@Test
public void test1() {
testObject.makeSth();
verify(testObject, only()).someMethodNeedToBeChecked();
}
}
Nhưng ở đây:
public class Program {
@Spy
private TestObject testObject;
@Test
public void test1() {
testObject.makeSth();
verify(testObject, only()).someMethodNeedToBeChecked();
}
@Test
public void test2() {
// Some different scenario
testObject.makeSth();
verify(testObject, only()).someMethodNeedToBeChecked();
...
}
}
tôi nhận được một ngoại lệ Mokito mà tôi có thêm rằng một lời khẩn cầu someMethodNeedToBeChecked
phương pháp. Tất nhiên tôi đã cố gắng để thêm Mockito.reset(testObject)
nhưng nó đã không giúp tôi cả.
Làm cách nào để đặt lại đối tượng gián điệp nếu tôi cần xác minh cùng một phương pháp trong một số thử nghiệm?
Tôi hỏi một câu hỏi tương tự qua tại http://programmers.stackexchange.com/questions/188299/is-this-an- phương pháp thích hợp-sử dụng-of-mockitos-reset-phương pháp. Chỉ cần FYI, mặc dù có liên quan đến một giả không phải là gián điệp. –
Bạn đã cố gắng thêm cuộc gọi vào 'đặt lại' ở đâu? Có thể chỉnh sửa mã của bạn để thể hiện nỗ lực của bạn, nhưng đã nhận xét? –
Tôi chỉ đính kèm ví dụ mẫu, đặt lại tôi đã cố gắng thực hiện trong @BeforeMethod \ @BeforeClass, giống với @Sau, ngay cả trước khi xác minh - nó không hoạt động. Theo tôi hiểu đó là một vấn đề chỉ với gián điệp và thiết lập lại chỉ dành cho các đối tượng giả. –