Springboot使用单元测试(JUnit Test)

步骤 1 : 单元测试

有时候呢,springboot 里要做单元测试,而不是直接跑起来。 比如 jpa 的查询数据,想跑个测试,看看数据库里的数据,那么这里就会讲如何做了

步骤 2 : 可运行项目

首先下载一个简单的可运行项目作为演示:网盘链接https://newryan.lanzous.com/ic1spef
下载后解压,比如解压到 E:\project\springboot 目录下

步骤 3 : pom.xml

  1. 修改 junit 版本为 4.12

  2. 增加 spring-boot-starter-test

<?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.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

  <groupId>com.ryan</groupId>
  <artifactId>springboot</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <name>springboot</name>
  <description>springboot</description>
  <packaging>war</packaging>
  
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.5.9.RELEASE</version>
    </parent>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-tomcat</artifactId>
        </dependency>
        
        <!-- junit -->
	<dependency>
		<groupId>junit</groupId>
		<artifactId>junit</artifactId>
		<version>4.12</version>
		<scope>test</scope>
	</dependency>
        
        <!-- servlet依赖. -->
        <dependency>
              <groupId>javax.servlet</groupId>
              <artifactId>javax.servlet-api</artifactId>
        </dependency>
              <dependency>
                     <groupId>javax.servlet</groupId>
                     <artifactId>jstl</artifactId>
              </dependency>
        <!-- tomcat的支持.-->
        <dependency>
               <groupId>org.apache.tomcat.embed</groupId>
               <artifactId>tomcat-embed-jasper</artifactId>
        </dependency>	    
		<dependency>
		    <groupId>org.springframework.boot</groupId>
		    <artifactId>spring-boot-devtools</artifactId>
		    <optional>true</optional> <!-- 这个需要为 true 热部署才有效 -->
		</dependency>
        
                <!-- mysql-->
		<dependency>
			<groupId>mysql</groupId>
			<artifactId>mysql-connector-java</artifactId>
			<version>5.1.21</version>
		</dependency>

		<!-- jpa-->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-data-jpa</artifactId>
		</dependency>        
		
		<!-- springboot test -->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-test</artifactId>
			<scope>test</scope>
		</dependency>
    </dependencies>

    <properties>
        <java.version>1.8</java.version>
    </properties>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

</project>                                                                      

步骤 4 : 添加测试类

  1. 需要加上2个注解:
  • @RunWith(SpringRunner.class)
  • @SpringBootTest(classes = Application.class)
  1. 自动装配 CategoryDAO dao; 以便于使用

  2. test 方法加上 @Test 注解,然后就可以使用dao来工作了

  3. 运行的时候选择 JUnit Test 方式

  4. 该类需放在 src/test/java

测试类

package com.ryan.springboot.test;

import java.util.List;

import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;

import com.ryan.springboot.Application;
import com.ryan.springboot.dao.CategoryDAO;
import com.ryan.springboot.pojo.Category;

@RunWith(SpringRunner.class)
@SpringBootTest(classes = Application.class)
public class TestJPA {

	@Autowired CategoryDAO dao;
	
	@Test
	public void test() {
		List<Category> cs=  dao.findAll();
		for (Category c : cs) {
			System.out.println("c.getName():"+ c.getName());
		}
	}
}

步骤 5 : 测试

运行 TestJPA 类就可以看到如图所示的效果了

更多关于 Springboot 单元测试 详细内容,点击学习: https://how2j.cn/k/springboot/springboot-test/1933.html?p=139689

猜你喜欢

转载自www.cnblogs.com/newRyan/p/12797647.html