簡體   English   中英

如何使用Mockito驗證一個方法是否在另一個方法中被調用?

[英]How to use Mockito to verify a method is called in another method?

我有一個帶有publish()方法的A類。 在該方法中,將調用另一個方法,並將A類對象作為參數傳遞給B類。

public class A {
    public void publish() {
      ClassB classb = new ClassB();
      classb.sendRequest(this)
    }
}

問題是,當調用publish()方法時,如何使用Mockito驗證sendRequest方法是否被調用? 我是Mockito的新手。

如果在方法中創建新的ClassB實例,則不能使用Mockito。
您應該重構publish()以將ClassB作為參數,然后可以發送Mockito模擬而不是真實的ClassB,並在其上進行驗證。

像這樣:

public class A {

    public void publish(ClassB classb){
        classb.sendRequest(this)
    }
 }

並在您的測試中:

ClassB mockClassB = mock(ClassB.class);
A a = new A();
a.publish(mockClassB);

verify(mockClassB, times(1)).sendRequest(any());

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM