1

我有一个类,在其中我从声明性客户端调用一个方法。但是对于我的测试,我不希望它调用实际的 URL。相反,我想模拟它。我怎么能做到这一点,因为它不是一个类,而是一个用 @Client 注释的接口?

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

4

1 回答 1

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 客户端运行。

于 2021-07-02T13:33:49.963 回答