(七) 使用注解来快速模拟

虫师 创建于 almost 7 years 之前

最后更新: less than a minute 之前

阅读数: 222

(七) 使用注解来快速模拟

在前面的测试中我们在每个测试方法里都mock了一个List对象,为了避免重复的mock,是测试类更具有可读性,我们可以使用下面的注解方式来快速模拟对象:

import org.junit.Test;
import org.mockito.Mock;
import static org.mockito.Mockito.*;

import java.util.List;

public class MockitoDemo2 {

    @Mock
    private List mockList;

    @Test
    public void shorthand(){
        mockList.add(1);
        verify(mockList).add(1);
    }
}

运行这个测试类你会发现报NullPointerException错,mock的对象为NULL,为此我们必须在基类中添加初始化mock的代码:

import org.junit.Test;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;

import static org.mockito.Mockito.*;

import java.util.List;

public class MockitoDemo2 {

    @Mock
    private List mockList;

    public MockitoDemo2(){
        MockitoAnnotations.initMocks(this);
    }

    @Test
    public void shorthand(){
        mockList.add(1);
        verify(mockList).add(1);
    }
}

或者使用built-in runner:MockitoJUnitRunner:

import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
import org.mockito.runners.MockitoJUnitRunner;

import static org.mockito.Mockito.*;

import java.util.List;

@RunWith(MockitoJUnitRunner.class)
public class MockitoDemo2 {

    @Mock
    private List mockList;

    @Test
    public void shorthand(){
        mockList.add(1);
        verify(mockList).add(1);
    }
}
0

相关课程

博客合集
图文
博客合集

课程分类: 测试工具 软件测试基础

当年的一些博文

  • 已完结
  • 已更新154集
  • 最后更新时间: 2024-03-19 22:02:16

免费

查看详情
requests从入门到精通
图文
requests从入门到精通

课程分类: 测试工具 接口测试

python接口测试必会

  • 已完结
  • 已更新16集
  • 最后更新时间: 2024-03-18 12:54:40

免费

查看详情
Locust实用教程
图文
Locust实用教程

课程分类: 性能测试 测试工具

python语言实现的非常出色性能测试工具

  • 已完结
  • 已更新9集
  • 最后更新时间: 2024-03-18 12:24:59

免费

查看详情