Я хочу протестировать некоторые методы, которые вызывают другие в том же классе. Это в основном одни и те же методы, но с разным количеством аргументов, поскольку в базе данных есть некоторые значения по умолчанию. Я показываю на этом
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();
}
}
Пожалуйста, имейте в виду, что у меня есть намного более сложный файл, который является утилитой для других, и все они должны быть в одном файле.