我正在测试一个方法,该方法将对象作为参数A,创建另一个对象的实例,B并使用A填充B的属性。然后代码在一个名为messageSender.send(B);
的单独类上调用一个方法我需要验证是否调用了send()。我已尝试过以下内容,但未能说使用不同类型的B对象调用sendBMessage。
有人知道如何验证messageSender.send(B)吗?
class MyMailSender{
MessageSender messageSender;
void sendBMessage(Object A){
B b = new B();
b.setId(A.getId()):
messageSender.send(B);
}
class test{
@Mock
private MessageSender messageSender;
@InjectMocks
MyMailSender myMailSender;
void testSendB(){
A a = new A();
a.setId(100);
B b = new B();
b.setId(a.getId());
myMailSender.sendBMessage(a);
verify(messageSender).send(b);
}
答案 0 :(得分:2)
找到一个有效的解决方案:
verify(messageSender).send(any(B.class));