有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

Junits中的java NullPointerException

我开始学习junits,并尝试模拟arraylist类,但它向我显示了空指针异常

这是我的密码:

public class MyListTest {

    @Mock
    ArrayList<String> al;
    @Test
    public void whenNotUseMockAnnotation_thenCorrect() {

        when(al.add("a")).thenReturn(true); 
        assertTrue(al.add("a"));


    }

}

共 (2) 个答案

  1. # 1 楼答案

    需要“启动”Mockito。实际上@Mock注释的作用就像一个装饰器,您需要执行以下操作之一:

    1. 用MockitoJUnitRunner注释JUnit测试:
    @RunWith(MockitoJUnitRunner.class)
    public class MyListTest
    
    1. 通过MockitoAnnotations以编程方式启用Mockito。initMocks()。您可以在JUnit的@Before方法中使用这一次。例如:
    @Before
    public void init() {
        MockitoAnnotations.initMocks(this);
    }
    
  2. # 2 楼答案

    您应该使用这个运行程序运行testclass @RunWith(org.mockito.junit.MockitoJUnitRunner.class)