如何在JUnit测试中使用Mockito?

法案

要测试的类是一个自制的LinkedList。在一种特定的方法中,我只想使用Mockito避免向列表中添加额外的元素,否则可能会影响其他测试方法。但是我不相信我以正确的方式使用它。有什么建议?

public class AppTest {

private LinkedList<Integer> link;
@Before
public void setUp() {
    //just want to populate the list with 4 elements for all tests
    link=mock(com.sed.MyLinkedList.LinkedList.class);
    link.add(111);
    link.add(222);
    link.add(333);
    link.add(444);
}

@Test
public void testApp() {     
    //add extra elements here for this specific test, shouldn't be really added to list 
    link.add(2, 900);
    //here 'when().thenReturn()' is useless
    when(link.toString()).thenReturn("[111, 222, 900, 333, 444]");
    assertEquals("[111, 222, 900, 333, 444]",link.toString());      
}

@Test(expected = ArrayIndexOutOfBoundsException.class)
public void testAppException() {
    link.add(5, 900);
}

}

奥古斯托

在测试中,您仅测试一个模拟,而没有测试您的课程。对于您提到的内容,只需更改设置方法以实例化真实的类。

@Before
public void setUp() {
    //just want to populate the list with 4 elements for all tests
    link = new com.sed.MyLinkedList.LinkedList();
    link.add(111);
    link.add(222);
    link.add(333);
    link.add(444);
}

在每次测试之前,都会调用setup方法,因此您将拥有一个包含4个元素的新列表。

当要测试的类使用协作者时,将使用模拟。背后的想法是隔离类,因此您可以确保任何错误都来自被测类而不是协作者。

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在JUnit测试中使用属性?

在 JUnit / Mockito 测试中使用 Mocked 对象

如何在Python中使用Mockito编写单元测试

如何在 Repository 中使用 mockito 测试 InternalServerError?

如何使用JUnit或Mockito测试匿名方法?

如何使用junit和mockito测试springjdbcTemplate

Dagger2:如何在JUnit测试中使用@Inject?

如何在我的junit测试中使用循环和流?

如何模拟要使用JUnit + Mockito进行单元测试的服务中使用的类

如何在Eclipse中使用运行方式> SWTBot测试运行JUnit 5测试

如何在Web安全和服务usnig Junit5和Mockito中使用SpringBootTest?

JUnit测试的InputStreamReader的使用的Mockito

使用Mockito进行JUnit测试

在Java中,如何使用断言测试在JUnit无效的Mockito的方法?

如何使用Junit和Mockito测试Spring验证器

如何使用JUnit和Mockito测试自定义JsonSerializer

如何使用Mockito在Junit中测试开关案例

如何使用Junit和Mockito测试DaoImpl方法

如何使用Junit和Mockito测试Sum Double值?

如何使用JUnit和Mockito测试我的JwtAuthentication类?

如何使用JUnit和/或Mockito测试void方法

如何使用 mockito 和 junit 测试此功能?

如何在单元测试中使用Mockito或任何Mocking框架模拟Guice Injection?

如何在Android Studio的单元测试中使用Mockito / Hamcrest

如何在Mockito中使用软断言?

如何在Mockito中使用条件模拟

如何在springboot应用程序中使用嵌入式mongoDB进行junit测试?

如何在Spring Roo中使用JUnit测试?(有关EntityManager的问题)

如何在JUnit 5中使用JUnitCore运行参数化测试?