您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

模拟resttemplate以将服务测试为restFul客户端

模拟resttemplate以将服务测试为restFul客户端

依赖项注入的好处之一是能够轻松模拟依赖项。在您的情况下,创建一个RestTemplatebean 会容易得多:

@Bean
public RestTemplate restTemplate() {
    return new RestTemplate();
}

而不是new RestTemplate()在客户中使用,您应该使用:

@Autowired
private RestTemplate restTemplate;

对于使用Mockito进行的单元测试,您必须模拟RestTemplate,例如使用:

@RunWith(MockitoJUnitRunner.class)
public class ClientTest {
    @InjectMocks
    private Client client;
    @Mock
    private RestTemplate restTemplate;
}

在这种情况下,Mockito会模拟并将RestTemplateBean 注入您的Client。如果您不喜欢通过反射进行RestTemplate模拟和注入,则可以随时使用单独的构造函数或设置器来注入模拟。

现在您可以编写如下测试:

client.doStuff();
verify(restTemplate).exchange(anyString(), eq(HttpMethod.GET), any(HttpModel.class), eq(ReportModel.class));

您可能需要进行更多测试,但这会给您一个基本的想法。

其他 2022/1/1 18:17:24 有564人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶