Mockito单元测试 初试
Mockito单元测试相对于Spring Boot 自带的好处理在于,单元测试不需要加载注入Spring Boot 启动项目。
1、需要注入的东西如下,@InjectMocks是注入需要测试的类,@Spy(也可以用@Mock,但我个人更加推荐 @Spy)是测试类里注入的bean
@EnableMockito
public class MockitoTest extends MockitoUtil {
@Before
public void init() {
MockitoAnnotations.initMocks(this.getClass().getTypeName());
}
@InjectMocks
private LhbWayBillServiceImpl lhbWayBillService;
@Spy
private LhbWayBillMapper lhbWayBillMapper;
}
2、@EnableMockito 及 MockitoUtil 中代码
@RunWith(Silent.class)
@ContextConfiguration(
classes = {MockServletContext.class}
) @WebAppConfiguration
public @interface EnableMockito {
} @Component
public abstract class MockitoUtil {
@Before
public void init() {
MockitoAnnotations.initMocks(this.getClass().getTypeName());
}
}
这两个类的目的只是为了简化单元测试,开发人员少写重复代码。
单元测试
@Test
public void shouldDoSomething() {
List result = new ArrayList();
LhbWaybillEntity entity = new LhbWaybillEntity();
entity.setConsignorAddress("123132132");
result.add(entity);
Mockito.when(lhbWayBillMapper.selectLhbWaybillList(Mockito.anyList(), Mockito.anyString())).thenReturn(result); List orderNo = lhbWayBillService.selectLhbWaybillList(Mockito.anyList(), Mockito.anyString());
Assert.assertEquals(orderNo, result); System.out.println(orderNo);
}
初化数据也可以放在 @Berfore 方法里面
List result = new ArrayList();
LhbWaybillEntity entity = new LhbWaybillEntity(); @Override
public void init() {
super.init();
entity.setConsignorAddress("123132132");
result.add(entity);
}
使用的是spring boot 项目 pom 文件引
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
<version>2.8.47</version>
<scope>compile</scope>
</dependency>
Mockito单元测试 初试的更多相关文章
- JUnit + Mockito 单元测试
原 JUnit + Mockito 单元测试(二) 2015年01月05日 17:26:02 sp42a 阅读数:60755 版权声明:本文为博主原创文章,未经博主允许不得转载. https://bl ...
- JUnit + Mockito 单元测试(二)
摘自: http://blog.csdn.net/zhangxin09/article/details/42422643 版权声明:本文为博主原创文章,未经博主允许不得转载. 目录(?)[-] 入门 ...
- 使用 Mockito 单元测试 – 教程
tanyuanji@126.com 版本历史 - - - - 使用 Mockito 进行测试 该教程主要讲解 Mockito 框架在Eclipse IDE 中的使用 目录 tanyuanji@12 ...
- JUnit + Mockito 单元测试(二)(good)
import org.junit.Test; import org.mockito.Matchers; import org.mockito.Mockito; import java.util.Lis ...
- Mockito单元测试
Mockito简介 Mockito是一个单元测试框架,需要Junit的支持.在我们的项目中,都存在相当多的依赖关系,当我们在测试某一个业务相关的接口或则方法时,绝大多数时候是没有办法或则很难去添加所有 ...
- 基于spring与mockito单元测试Mock对象注入
转载:http://www.blogjava.net/qileilove/archive/2014/03/07/410713.html 1.关键词 单元测试.spring.mockito 2.概述 单 ...
- 一文让你快速上手 Mockito 单元测试框架
前言 在计算机编程中,单元测试是一种软件测试方法,通过该方法可以测试源代码的各个单元功能是否适合使用.为代码编写单元测试有很多好处,包括可以及早的发现代码错误,促进更改,简化集成,方便代码重构以及许多 ...
- Mockito单元测试实战
最近使用Mockito完成了几个简单的测试,写个博客mark一下: 第一种模拟web请求 @SpringBootTest @RunWith(SpringRunner.class) @WebAppCon ...
- Junit Hamcrest Mockito单元测试
pom.xml配置 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="h ...
- NUnit单元测试初试
创建项目,创建几个方法 创建测试类 开启NUnit测试工具,新建一个测试项目 打开测试的程序集 选择节点,点击测试,绿色通过,红色说明有错误
随机推荐
- HDLBits答案——Circuits
1 Combinational Logic 1.1 Basic Gates 1.1.1 Exams/m2014 q4h module top_module ( input in, output out ...
- redis集群之主从复制集群的原理和部署
最近在复盘redis的知识,所以本文开始希望介绍下redis的集群架构.原理以及部署:本文主要介绍redis的主从复制集群,包括其架构模型,原理,高可用等: 一.主从集群的介绍 redis的主从复 ...
- 【Java EE】Day05 JDBC概念、对象、控制事务
一.基本概念 1.概念 Java Database Connectivity:Java数据库连接 2.本质 SUN公司提供的操作所有关系型数据库的规则,是一套接口 各厂商实现此接口,提供相应的驱动ja ...
- Hexo博客搭建和简单部署
title: Hexo博客搭建和简单部署 date: 2020-03-02 12:00:00 categories: - [IT,博客] - [IT,软件,程序] - [IT,软件,搭建与配置] ta ...
- day33-JSON&Ajax01
JSON&Ajax01 JSON 在线文档 AJAX 在线文档 1.JSON介绍 JSON指的是JavaScript对象表示法( JavaScript Object Notation),JSO ...
- python模块的含义
目录 模块简介 模块的本质 python模块的历史 python模块的表现形式 模块的分类 导入模块的两种句式 强调 import句式 import流程推导 练习 from...import...句式 ...
- PHP7.2 装mongodb 遇到的坑,完美解决!
公司要做QA安全测试,组长就丢了一个源码包给我,什么资料都无. 系统是个Laravel框架,源码都是从线上git下来.然后看了本地composer.json 没有生成vendor 第一步安装 comp ...
- Nmap常用方法
1.扫描单个目标地址 在Nmap后面直接添加目标地址即可扫描 nmap 目标地址 2.扫描多个目标地址 如果目标不在同一网段,或在同一网段但不连续且数量不多,可以使用该方法进行扫描 nmap ...
- can not be used when making a PIE object
编译报错 relocation R_X86_64_32 against `.rodata' can not be used when making a PIE object; recompile wi ...
- vue多界面开发
1. 安装 vue-cli,已有的请跳过这一步 npm install -g @vue/cli 若已安装旧版 vue-cli 则需要先卸载 vue-cli npm uninstall -g vue-c ...