1

RestTemplatewhich usesをモックしたいRestTemplateBuilder。したがって、私は使用してrestclienttestいます。

残念ながら、私はresttemplate呼び出しをモックすることはできません。がSup supExpected = myService.getDetails("1234")呼び出されると、代わりに完全なバックエンド呼び出しが実行され、私が要求した結果が得られます。

カスタム json 文字列「SD」を生成する代わりに、実際の G​​ET 呼び出しを実行し、バックエンドから応答を返します。

これが私の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);
    }

私のコードの何が問題なのか、誰か助けてもらえますか?

4

1 に答える 1