Как использовать Mockito для проверки того, что метод вызывается в другом методе? - PullRequest
0 голосов
/ 08 ноября 2018

У меня есть класс A с методом publish (). В методе вызовет другой метод и передаст объект класса A в качестве параметра классу B.

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

Вопрос в том, как использовать Mockito для проверки того, что метод sendRequest вызывается при вызове метода publish ()? Я новичок в Мокито.

1 Ответ

0 голосов
/ 08 ноября 2018

Вы не можете использовать Mockito, если создаете новый экземпляр ClassB в своем методе.
Вы должны изменить рефакторинг 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());
...