Я хочу протестировать некоторые методы, которые вызывают другие в том же классе. Это в основном одни и те же методы, но с разным количеством аргументов, поскольку в базе данных есть некоторые значения по умолчанию. Я показываю на этом
public class A{
Integer quantity;
Integer price;
A(Integer q, Integer v){
this quantity = q;
this.price = p;
}
public Float getPriceForOne(){
return price/quantity;
}
public Float getPrice(int quantity){
return getPriceForOne()*quantity;
}
}
Поэтому я хочу проверить, был ли вызван метод getPriceForOne() при вызове метода getPrice (int). В основном, вызовите getPrice (int) как обычно и имитируйте getPriceForOne.
import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;
....
public class MyTests {
A mockedA = createMockA();
@Test
public void getPriceTest(){
A a = new A(3,15);
... test logic of method without mock ...
mockedA.getPrice(2);
verify(mockedA, times(1)).getPriceForOne();
}
}
Пожалуйста, имейте в виду, что у меня есть намного более сложный файл, чем утилита для других, и все они должны быть в одном файле.