无法使用restclienttest模拟resttemplate调用



我想模拟使用RestTemplateBuilderRestTemplate。因此,我使用restclienttest

不幸的是,我无法模拟resttemplate调用。当调用Sup supExpected = myService.getDetails("1234")时,它执行的是完整的后端调用,而不是我要求的结果。

它不是生成自定义json字符串"SD",而是执行实际的GET调用并从后端给出响应。

这是我的junit代码:

@RunWith(SpringRunner.class)
@RestClientTest(MyService.class)
public class TestMyServiceApplication {

@Autowired
private MyService myService; 
@Autowired
private RestTemplate restTemplate;
@Autowired 
private MockRestServiceServer server;       
@Before public void setUp() { 
server= MockRestServiceServer.createServer(restTemplate); }
@Test
public void ReturnSupplierSuccessfully() {
String SD= "{"SUP": {"LNR": "1234","NAME1": "RestClient"}]}}";
this.server
.expect(requestTo("abc.net/service/v1?lnr=1234"))
.andExpect(method(HttpMethod.GET))
.andRespond(withSuccess(SD, MediaType.APPLICATION_JSON));
Sup supExpected = myService.getDetails("1234");
server.verify();
assertNotNull(supExpected);
}

有人能帮我我的代码出了什么问题吗?

尝试将@Mock注释放在RestTemplate和其他相应的服务类之上。

@Mock

相关内容

  • 没有找到相关文章

最新更新