Как издеваться над интерфейсом? - PullRequest
0 голосов
/ 07 ноября 2018

Вот вопрос о Мокито. Для следующего кода

public class ABC implements someInterface() {
    public void test() {
        someFunction(new A(), this);
    }
}

someFunction принимает экземпляр класса A и обратный вызов, который реализует someInterface в качестве параметра. При использовании powermock для создания нового экземпляра мы можем использовать

whenNew(A.class).withNoArguments().thenReturn(mMockClass);

тогда мы можем получить фиктивный класс А.

Вопрос в том, как мне посмеяться над вторым параметром?

1 Ответ

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

Для обработки первого параметра вы можете использовать https://github.com/mockito/mockito/wiki/Mocking-Object-Creation или использовать any() matcher.

Для второго параметра просто передайте классу ссылку, которую вы тестируете в своем методе тестирования. Например,

...
ABC abc = new ABC();
Foo = Mockito.mock(Foo.class);
Foo.someFunction(Mockito.any(), abc);

abc.test();
...
...