我有一个类,在其中我从声明性客户端调用一个方法。但是对于我的测试,我不希望它调用实际的 URL。相反,我想模拟它。我怎么能做到这一点,因为它不是一个类,而是一个用 @Client 注释的接口?
示例代码:-这里。请查看第 4.3 节
我有一个类,在其中我从声明性客户端调用一个方法。但是对于我的测试,我不希望它调用实际的 URL。相反,我想模拟它。我怎么能做到这一点,因为它不是一个类,而是一个用 @Client 注释的接口?
示例代码:-这里。请查看第 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 客户端运行。