如何在 Micronaut 中模拟声明式客户端?

How to Mock a Declarative Client in Micronaut?

我有 Class 从声明性客户端调用方法。但是对于我的测试,我不希望它调用实际的 URL。相反,我想模拟它。我该怎么做,因为它不是 class 而是用 @Client 注释的接口?

示例代码:- here。请查看第 4.3 节

在您的测试中,您可以用模拟替换 http 客户端 bean。请在下面找到一段 Spock 片段。

// replace the client with a mock
@MockBean(YourClientInterface)
YourClientInterface yourClientInterface() {
    return Mock(YourClientInterface)
}

// inject the mock in order to configure responses when it gets called
@Inject
YourClientInterface client

现在您可以编写测试,您的代码将运行针对模拟而不是实际的 http 客户端。