オブジェクトをパラメーター A として受け取り、別のオブジェクト B のインスタンスを作成し、B のプロパティに A のプロパティを設定するメソッドの単体テストを行っています。次に、コードは、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);
}