Я использую фреймворк micronaut и spock для написания тестового примера API. Я пытаюсь создать тестовый пример своего API, который внутренне вызывает PaymentIntent.retrieve()
статический метод стороннего API. Я хочу издеваться над этим вызовом стороннего URL и вместо этого вернуть fakeObject PaymentIntent
.
Вот созданный мной образец тестового примера, который выполняет фактический сторонний статический метод api:
@Inject Service myService;
@Unroll
void "method returns nothing"() {
given:
PaymentIntent paymentIntent = new PaymentIntent()
Mock(PaymentIntent)
PaymentIntent.retrieve("pi_123", requestOptions) >> paymentIntent
when:
def result = myService.getPayment("", "pi_123", obj)
then:
result.amount == paymentIntent.amount
}
Может ли кто-нибудь подсказать мне, как можно ограничить выполнение фактического API?
Я сослался на эти уже заданные вопросы, но в моем случае это не сработало. Макет статического метода с GroovyMock или аналогичным в Spock