tôi có phương pháp sau đây mà tôi muốn xác minh hành vi trênLàm thế nào để xác minh nhiều phương pháp gọi với params khác nhau
public void methodToTest(Exception e, ActionErrors errors) {
...
errors.add("exception.message",
ActionMessageFactory.createErrorMessage(e.toString()));
errors.add("exception.detail",
ActionMessageFactory.createErrorMessage(e.getStackTrace()[0].toString()));
...
}
Trong lớp @Test của tôi, tôi đã hy vọng để làm một cái gì đó như thế này để xác minh rằng errors.add()
được gọi là với "exception.message" và một lần nữa với "exception.detail"
verify(errors).add(eq("exception.message"), any(ActionError.class));
verify(errors).add(eq("exception.detail"), any(ActionError.class));
tuy nhiên Mockito phàn nàn như sau
Argument(s) are different! Wanted:
actionErrors.add(
"exception.message",
<any>
);
Actual invocation has different arguments:
actionErrors.add(
"exception.detail",
[email protected]
);
Làm thế nào tôi có thể yêu cầu Mockito kiểm tra cả hai giá trị?
khi u có 2 phương pháp có chữ ký khác nhau, bạn có thể viết trường hợp kiểm tra riêng biệt cho cả hai. –
Có, nhưng trong trường hợp này chữ ký của phương thức giống nhau nhưng chỉ có các giá trị đối số khác nhau – Brad