невозможно смоделировать вызов resttemplate с помощью restclienttest - PullRequest
0 голосов
/ 15 апреля 2020

Я хочу издеваться над моим RestTemplate, который использует RestTemplateBuilder. следовательно, я использую restclienttest.

к сожалению, я не могу смоделировать вызов resttemplate. когда Sup supExpected = myService.getDetails ("1234"), вызывается. он выполняет полный бэкэнд-вызов вместо того, чтобы получить то, что я просил сделать.

вместо того, чтобы получить пользовательскую строку json SD ", он выполняет фактический вызов GET и дает ответ от бэкенда.

вот мой код jnuit:

@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);
    }

Кто-нибудь может мне помочь, что не так в моем коде?

1 Ответ

0 голосов
/ 15 апреля 2020

Попробуйте поместить @Mock аннотацию поверх RestTemplate и других соответствующих классов обслуживания.

@Mock
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...