я не могу легко проверить, 2 индивидуальные и уникальный вызов класса подтипа к способу, который принимает супертипMockito Проверки на пропускаемом типе югу видит только супер тип
У меня есть сценарий, который действует, как это ...
Оба В и с, расширить абстрактный тип A
с
public class X {
public String doSomething(A a){
return "";
}
}
Тест
@Test
public void testExtensionVerify(){
X x = mock(X.class);
B b = new B();
C c = new C();
x.doSomething(b);
x.doSomething(c);
verify(x, times(1)).doSomething(any(B.class)); //fails.
}
VERIFY раз (1) не ... Он видит 2 вызова вместо 1, вероятно, потому, что ссылка Б в сигнатуре метода является супер типа А.
Проблема заключается в том, что я не могу проверить каждый вызов однозначно
Я знаю, что могу использовать swtich для eq (b) и eq (c) вместо any(), но у меня нет дескриптора для них в моем реальном случае, поскольку они созданы в тестируемом объекте. Другой вариант может состоять в том, чтобы сделать ArgumentCaptor и протестировать экземпляр, но его раздражает.
Любые другие решения?
Ах да. Отлично. благодаря –