2012-07-31 74 views
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); 
} 

回答

2

找到問題的解決方案:

verify(messageSender).send(any(B.class));