使用自动连接字段进行Junit测试

亚伦C

我使用几种方法为类编写了一系列测试用例:

public ServiceResponse getListOfGroups() {
    ServiceResponse serviceResponse = new ServiceResponse();
    try{
        Slf4JStopWatch sw = new Slf4JStopWatch("GetListOfGroups", log, DEBUG_LEVEL);
        List<Group> Groups = Arrays.asList(restTemplate.getForObject(getGroupServiceURL(), Group[].class));
        sw.stop();
        serviceResponse.setData(Groups);
    } catch(ServiceException  ex) {
        serviceResponse.setErrorObject(ex.getErrorObject());
    } 

    return serviceResponse;
}

我遇到的问题是事实,restTemplate@autowired从实际执行的类的(因此返回null在单元测试的角度调用时)。我将如何为这些方法编写适当的测试用例?

到目前为止,这是我尝试过的:

@Test
public void testGetListOfGroups() {
    //TODO
    ServiceResponse resp = new ServiceResponse();
    Mockito.when(uwsci.getListOfGroups()).thenReturn(resp); //uwsci is my mocked object
    assertTrue(uwsci.getListOfGroups() == resp);
}

我觉得这超出了单元测试的目的,因为它只是返回我告诉的内容,而没有真正做任何其他事情。

JB Nizet

由于选择了字段注入,因此在对象中注入模拟依赖项的唯一方法是使用反射。如果您改用构造函数注入,那将很容易

RestTemplate mockRestTemplate = mock(RestTemplate.class);
ClassUnderTest c = new ClassUnderTest(mockRestTemplate);

幸运的是,Mockito使用其注释支持使之成为可能:

@Mock
private RestTemplate mockRestTemplate;

@InjectMocks
private ClassUnderTest classUnderTest;

@Before
public void prepare() {
    MockitoAnnotations.initMocks(this);
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

另一个@tx:annotation驱动导致自动连接无法进行Junit测试

来自分类Dev

访问私有字段进行junit测试

来自分类Dev

使用Mockito进行JUnit测试

来自分类Dev

使用junit5时,Springboot测试无法自动连接TestRestTemplate

来自分类Dev

使用JUnit自动测试Web服务

来自分类Dev

如何通过内置JUnit测试自动连接服务

来自分类Dev

在JUnit测试中使用常量或字段

来自分类Dev

使用SQLCipher for Android进行Android JUnit测试

来自分类Dev

登录页面使用Mockito进行Junit测试

来自分类Dev

使用MockMvc进行Spring JUnit测试

来自分类Dev

使用JUNIT进行Android文件操作测试

来自分类Dev

使用MockMvc进行Spring JUnit测试

来自分类Dev

使用ARC进行自动化测试?

来自分类Dev

使用ARC进行自动化测试?

来自分类Dev

使用Jmeter自动进行耐力测试

来自分类Dev

使用 makefile 进行自动化测试

来自分类Dev

使用密码短语自动进行ssh连接

来自分类Dev

进行分数的Junit测试

来自分类Dev

是使用TestNG还是使用Junit进行UI自动化?

来自分类Dev

使用Gradle在Android中使用JUnit进行单元测试

来自分类Dev

使用 assertArrayEquals 使用 JUnit 进行测试时出错

来自分类Dev

使用jUnit进行Spring Hibernate存储库测试

来自分类Dev

如何使用Google Cloud Pub / Sub进行Junit测试

来自分类Dev

使用文件输入进行Junit参数化测试

来自分类Dev

使用内存中的hsqldb,hibernate和liquibase进行Junit测试

来自分类Dev

使用intellij和jprofiler对junit测试进行性能分析

来自分类Dev

如何使用JUnit对链接列表进行单元测试

来自分类Dev

使用Junit5进行Gradle多项目集成测试

来自分类Dev

如何使用内部对象创建进行JUnit测试

Related 相关文章

热门标签

归档