0

我正在对一种方法进行单元测试,该方法将对象作为参数 A,创建另一个对象 B 的实例,并用 A 填充 B 的属性。然后代码调用一个名为 messageSender.send(B) 的单独类上的方法;

我需要验证 send() 是否被调用。我尝试了以下方法,但没有说 sendBMessage 是用不同类型的 B 对象调用的。

有人知道如何验证 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);
}
4

1 回答 1

2

找到了一个可行的解决方案:

    verify(messageSender).send(any(B.class));
于 2012-07-31T11:08:57.210 回答