RestTemplate
which usesをモックしたいRestTemplateBuilder
。したがって、私は使用して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);
}
私のコードの何が問題なのか、誰か助けてもらえますか?