JavaEE_Junit_Junit对Spring注入的Service层的测试

2024-05-03 07:38

本文主要是介绍JavaEE_Junit_Junit对Spring注入的Service层的测试,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

今天博主遇到一个问题,在Serivce层利用POI导出Excel表格,博主想对这个方法进行测试,

但由于mapper 是注入的, 直接用 main 方法并不成功,报错和出现的问题如下图:


 



主要原因:Mapper是调用时候注入的,所以此时Mapper为null



这时候我们可以使用junit 对service进行测试即可解决问题:

博主假设大家已经导入了Junit 包



在文件上单击右键,创建一个单元测试文件,如下图的步骤


选择Junit测试


单击下一步,这时候就可以选择测试哪些方法了




编写测试代码:


重要的步奏,在setUp中读取Spring配置文件,博主用的是Spring+SpringMvc+Mybatis进行开发,Service, Mapper(DAO)等交由Spring管理





配置文件中扫描service



测试代码:

package cn._2vin.yannan.test;import static org.junit.Assert.*;import java.util.List;import org.junit.Before;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.FileSystemXmlApplicationContext;import cn._2vin.yannan.bean.MobileDepartmentTotal;
import cn._2vin.yannan.service.MobileDepartmentTotalService;public class MobileDepartmentTotalServiceTest {private ApplicationContext applicationContext;@Beforepublic void setUp() throws Exception {applicationContext = new FileSystemXmlApplicationContext("classpath:spring/applicationContext.xml");}@Testpublic void testDeleteByPrimaryKey() {fail("Not yet implemented");}@Testpublic void testSelectBySelective() {MobileDepartmentTotalService mobileDepartmentTotalService = (MobileDepartmentTotalService)applicationContext.getBean("mobileDepartmentTotalService");//MobileDepartmentTotal mobileDepartmentTotal = new MobileDepartmentTotal();List<MobileDepartmentTotal> list = mobileDepartmentTotalService.selectBySelective(null);System.out.println(list.size());}@Testpublic void testSelectBySelectiveNoPage() {fail("Not yet implemented");}@Testpublic void testSelectBySelectiveCount() {fail("Not yet implemented");}@Testpublic void testExportExcel() {MobileDepartmentTotalService mobileDepartmentTotalService = (MobileDepartmentTotalService)applicationContext.getBean("mobileDepartmentTotalService");mobileDepartmentTotalService.exportExcel(null);}}


最后只要在想测试的方法,上右击run as junit 即可,

对类测试,则在文件上右击以run as junit




这篇关于JavaEE_Junit_Junit对Spring注入的Service层的测试的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/956192

相关文章

PHP中isset、empty、is_null实验测试

#$abc = "abc";     $def;     #var_dump(isset($abc));     //var_dump(empty($def));     //var_dump(false);     //var_dump(empty(''));     var_dump(isset($def));     var_dump(is_null($def));     #

JavaScript的变量申明提前

变量提升 JavaScript的函数定义有个特点,它会先扫描整个函数体的语句,把所有申明的变量“提升”到函数顶部: 只是将变量的申明提前,而不提前变量的值和函数的值 'use strict';function foo() {var x = 'Hello, ' + y;alert(x);var y = 'Bob';}foo(); 虽然是strict模式,但语句var x = 'Hell

Java ArryList

ArrayList简介 ArrayList就是传说中的动态数组,用MSDN中的说法,就是Array的复杂版本,它提供了如下一些好处: 1、动态的增加和减少元素; 2、实现了ICollection和IList接口 ; 3、灵活的设置数组的大小; ArrayList的基本用法 1、创建一个动态数组,并赋值 //创建一个动态数组ArrayList list = new ArrayL

SpringBoot 学习六:数据库的增删改查

1、新建一个Girl类,添加如下代码: package controlle;import javax.persistence.Entity;import javax.persistence.GeneratedValue;import javax.persistence.Id;@Entitypublic class Girl {@Id@GeneratedValueprivate Integer

SpringBoot 学习五:连接数据库

1、在pom.xml需要添加与数据库相关的两个依赖: <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-jpa</artifactId></dependency><dependency><groupId>mysql</groupId><artifactId>my

SpringBoot 学习四:macOS安装MySQL 以及报错解决

从MySQL官网下载Mysql,在本地安装好之后,用数据库连接工具Sequl Pro去连接数据库,发现报错了,报错信息有两种: Error1:Unable to connect to host 127.0.0.1 because access was denied.Double-check your username and password and ensure that access fro

SpringBoot 学习三:Controller的使用

1、给同一个类添加两个访问地址 在浏览器里输入: localhost:8081/hello 或者 localhost:8081/hi都能访问到。 2、给整个类指定一个URL  通过设置@RequestMapping("/hello"),给整个类指定一个URL  这个时候就需要通过http://localhost:8081/hello/hi去访问这个类了。 3、如何处理url中的参

SpringBoot 学习二:项目属性配置

默认配置的端口是8080,但是有时候8080端口会被系统其他程序占用,所以我们最好配置一个不常用的端口。 1、配置端口 在resources目录下新建一个application.yml文件 打开applicationl.yml文件,里面是空白的,在里面添加端口: server:port: 8081 重新运行一下程序,在浏览器里面将端口号改成8081,能访问成功,则说明设置生效了。

SpringBoot 学习一:创建第一个工程

1、pom.xml 添加依赖 <?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.or

spring_hibernate.xml配置文件

<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:context="http://www.springframework.org/schem