如何在 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 客户端。
我有 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 客户端。