Есть ли способ проверить, methodOne
вызывается ли ранее methodTwo
в Mockito?
public class ServiceClassA {
public void methodOne(){}
}
public class ServiceClassB {
public void methodTwo(){}
}
public class TestClass {
public void method(){
ServiceClassA serviceA = new ServiceClassA();
ServiceClassB serviceB = new ServiceClassB();
serviceA.methodOne();
serviceB.methodTwo();
}
}
java
unit-testing
mockito
froi
источник
источник
inOrder.verifyNoMoreInteractions();
после последней проверки в этом примере, чтобы убедиться, что не было сделано никаких других вызовов.inOrder(firstMock, secondMock)
иinOrder(secondMock, firstMock)
? Возможно, вы можете обновить ответ, чтобы сделать пометку об этом.Обратите внимание, что вы также можете использовать класс InOrder для проверки того, что различные методы вызываются по порядку на одном макете, а не только на двух или более.
Предположим, у меня есть два класса
Foo
иBar
:То я могу добавить тестовый класс тест , который
Bar
«SfirstThenSecond()
метод фактически вызываетfirst()
, тоsecond()
и неsecond()
, тогдаfirst()
. Смотрите следующий тестовый код:источник
find('foo')
, потомfind('bar')
doNothing()
Да, это описано в документации. Вы должны использовать класс InOrder .
Пример (при условии, что два макета уже созданы):
источник
С BDD это
источник