我编写了一个如下所示的单元测试,下面是我看到的另一个单元测试的示例,但是由于某种原因,当我运行测试时,我正在测试 serviceProperties
对象显示为 null
,我认为这种方法会给我一个嘲笑的价值。
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(loader = AnnotationConfigContextLoader.class)
@Category({ UnitTests.class })
public class MyTest {
@Mock
private OAuth2RestTemplate serviceRestTemplate;
@Mock
// had to make this static to use inside TestConfiguration
static
serviceProperties serviceProperties;
@Configuration
@EnableConfigurationProperties
@Import({ PropertiesTestConfiguration.class, RestTestConfiguration.class })
static class TestConfiguration {
@Bean
MyInterface MyInterface() {
return new MyInterface(serviceProperties);
}
}
@Autowired
MyInterface MyInterface;
@Test
public void getServiceResponse_Success() throws ServiceException {
Mockito.when(serviceProperties.getUrl()).thenReturn("http://test_url");
UriComponentsBuilder builder = UriComponentsBuilder.fromHttpUrl(serviceProperties.getUrl() + VALID_NUMBER + HEADER_ENDPOINT);
ResponseEntity<String> mockResponseEntity = new ResponseEntity<String>(mockResponseBody, HttpStatus.OK);
thrown.none();
MyInterface.getClaimByClaimId(VALID_CLAIM_NUMBER);
}
}
1条答案
按热度按时间4jb9z9bj1#
这个
@Mock
如果不使用注解对类进行注解,则注解无效@ExtendWith(MockitoExtension.class)
.