繁体   English   中英

如何使用 PowerMockito 模拟 RestTemplate

[英]How to Mock RestTemplate by using PowerMockito

我已经写了 Powermockito 条件,但它不起作用。 任何人都可以帮助我。

ResponseEntity response = new RestTemplate().exchange(requestEntity, String.class);

PowerMockito.whenNew(RestTemplate.class).withAnyArguments().thenReturn(mockPoint);

我也在下面尝试过。

PowerMockito.whenNew(RestTemplate.class).withAnyArguments().thenReturn(mockPoint);

PowerMockito.when(mockPoint.exchange(requestEntity, String.class)).thenReturn(responseEntity);

下面的答案是正确的..

@RunWith(PowerMockRunner.class)
@PrepareForTest(EPartnerMicroServiceHelper.class)
@PowerMockIgnore("javax.management.*")
public class EPartnerMicroServiceHelperTest {

    private EPartnerMicroServiceHelper ePartnerMicroServiceHelper;

    @Mock
    RequestEntity<String> requestEntity;
    @Mock
    ResponseEntity<String> responseEntity;

    @Before
    public void setUp() {
        ePartnerMicroServiceHelper = new EPartnerMicroServiceHelper();
    }

    @Test
    public void testRetrieveAllUserDetails() throws Exception {
        String loggerId = "loggerId";

        MemberSearchCriteriaDTO memberSearchCriteriaDTO = new MemberSearchCriteriaDTO();
        memberSearchCriteriaDTO.setBrokerCode("brokerCode");

        responseEntity = new ResponseEntity<String>("some response body", HttpStatus.OK);

        RequestEntity<String> requestEntity = mock(RequestEntity.class);

        PowerMockito.whenNew(RequestEntity.class).withAnyArguments().thenReturn(requestEntity);

        RestTemplate mockPoint = mock(RestTemplate.class);

        PowerMockito.whenNew(RestTemplate.class).withAnyArguments().thenReturn(mockPoint);

        PowerMockito.when(mockPoint.exchange(requestEntity, String.class)).thenReturn(responseEntity);  


        ePartnerMicroServiceHelper.retrieveAllUserDetails(loggerId, memberSearchCriteriaDTO);
    }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM