zoukankan      html  css  js  c++  java
  • Springboot使用单元测试(JUnit Test)

    步骤 1 : 单元测试

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

    步骤 2 : 可运行项目

    首先下载一个简单的可运行项目作为演示:网盘链接https://www.90pan.com/b1869096

    下载后解压,比如解压到 E:projectspringboot 目录下

    步骤 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 单元测试 详细内容,点击学习: http://t.cn/A62Y5244

  • 相关阅读:
    [Java]用于将链表变成字符串并在元素之间插入分隔符的有用函数“String.join”
    Sql语法树示例 select username, ismale from userinfo where age > 20 and level > 5 and 1 = 1
    [Java]一段尚未雕琢的分词代码
    day44_Oracle学习笔记_03
    day43_Oracle学习笔记_02
    WinXP系统中的Oracle数据库如何以管理员身份登录
    Oracle 10G安装指导
    20个Linux服务器性能调优技巧
    Linux 上使用 Gmail SMTP 服务器发送邮件通知
    Netdata Linux下性能实时监测工具
  • 原文地址:https://www.cnblogs.com/newRyan/p/12797647.html
Copyright © 2011-2022 走看看