6.19(junit–>在maven和Spring中的使用)

写文章要不忘初心,今天也要继续努力~

白盒测试:是一种测试用例设计方法,在这里盒子指的是被测试的软件,白盒,顾名思义即盒子是可视的,你可以清楚盒子内部的东西以及里面是如何运作的,因此白盒测试需要你对系统内部的结构和工作原理有一个清楚的了解,并且基于这个知识来设计你的用例。

白盒测试主要是单元测试,不是测试岗就不深究了

用main方法测试


public class SumUtil {
    public static void main(String[] args) {
        int result = sum1(1,2);
        System.out.println(result);
        int result2 = sum2(1,2,3);
        System.out.println(result2);
    }
    public static int sum1(int i,int j){
        return i+j;
    }
    public static int sum2(int i,int j,int k){
        return i+j+k;
    }

    }

junit测试

import org.junit.Assert;
import org.junit.Test;

public class TestCase1 {

    @Test
    public void testSum1() {
        int result = SumUtil.sum1(1, 2);
        Assert.assertEquals(result, 3);

    }
}

import org.junit.After;
import org.junit.Before;
import org.junit.Test;

import junit.framework.Assert;

public class TestCase2 {

    @Before
    public void before() {
        System.out.println("测试前的准备工作,比如链接数据库等等");
    }
    @After
    public void after() {
        System.out.println("测试结束后的工作,比如关闭链接等等");
    }

    @Test
    public void testSum1() {
        int result = SumUtil.sum1(1, 2);
        Assert.assertEquals(result, 3);
    }

    @Test
    public void testSum2() {
        int result = SumUtil.sum2(1, 2,3);
        Assert.assertEquals(result, 6);
    }
}

import org.junit.runner.RunWith;
import org.junit.runners.Suite;

@RunWith(Suite.class)
@Suite.SuiteClasses({TestCase1.class,TestCase2.class})
public class TestSuite {

}

测试结果:

6.19(junit-->在maven和Spring中的使用)
6.19(junit-->在maven和Spring中的使用)

在maven中使用,只要在pom.xml中添加依赖就可

<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.0modelVersion>
  <groupId>cn.how2jgroupId>
  <artifactId>junitartifactId>
  <version>0.0.1-SNAPSHOTversion>
  <name>junitname>
  <description>junitdescription>
  <dependencies>
    <dependency>
        <groupId>junitgroupId>
        <artifactId>junitartifactId>
        <version>4.3.1version>
        <scope>testscope>
    dependency>
  dependencies>
project>

在Spring中使用

先导入jar包

修改TestSpring, 并运行

  1. @RunWith(SpringJUnit4ClassRunner.class)
    表示这是一个Spring的测试类
  2. @ContextConfiguration(“classpath:applicationContext.xml”)
    定位Spring的配置文件
  3. @Autowired
    给这个测试类装配Category对象
  4. @Test
    测试逻辑,打印c对象的名称
package com.how2java.test;

import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;

import com.how2java.pojo.Category;

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("classpath:applicationContext.xml")
public class TestSpring {
    @Autowired
    Category c;

    @Test
    public void test(){
        System.out.println(c.getName());
    }
}

在SpringBoot中使用
pom.xml

  1. 修改junit 版本为 4.12
  2. 增加 spring-boot-starter-test

<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.0modelVersion>

  <groupId>com.how2javagroupId>
  <artifactId>springbootartifactId>
  <version>0.0.1-SNAPSHOTversion>
  <name>springbootname>
  <description>springbootdescription>
  <packaging>warpackaging>

    <parent>
        <groupId>org.springframework.bootgroupId>
        <artifactId>spring-boot-starter-parentartifactId>
        <version>1.5.9.RELEASEversion>
    parent>

    <dependencies>
        <dependency>
            <groupId>org.springframework.bootgroupId>
            <artifactId>spring-boot-starter-webartifactId>
        dependency>
        <dependency>
            <groupId>org.springframework.bootgroupId>
            <artifactId>spring-boot-starter-tomcatartifactId>

        dependency>

        <dependency>
            <groupId>junitgroupId>
            <artifactId>junitartifactId>
            <version>4.12version>
            <scope>testscope>
        dependency>

        <dependency>
              <groupId>javax.servletgroupId>
              <artifactId>javax.servlet-apiartifactId>
        dependency>
              <dependency>
                     <groupId>javax.servletgroupId>
                     <artifactId>jstlartifactId>
              dependency>

        <dependency>
               <groupId>org.apache.tomcat.embedgroupId>
               <artifactId>tomcat-embed-jasperartifactId>

        dependency>
        <dependency>
            <groupId>org.springframework.bootgroupId>
            <artifactId>spring-boot-devtoolsartifactId>
            <optional>trueoptional>
        dependency>

        <dependency>
            <groupId>mysqlgroupId>
            <artifactId>mysql-connector-javaartifactId>
            <version>5.1.21version>
        dependency>

        <dependency>
            <groupId>org.springframework.bootgroupId>
            <artifactId>spring-boot-starter-data-jpaartifactId>
        dependency>

        <dependency>
            <groupId>org.springframework.bootgroupId>
            <artifactId>spring-boot-starter-testartifactId>
            <scope>testscope>
        dependency>
    dependencies>

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

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

project>

测试类

  1. 需要加上2个注解:
    @RunWith(SpringRunner.class)
    @SpringBootTest(classes = Application.class)
  2. 自动装配 CategoryDAO dao; 以便于使用
  3. test 方法加上 @Test 注解,然后就可以使用dao来工作了
  4. 运行的时候选择 JUnit Test 方式

package com.how2java.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.how2java.springboot.Application;
import com.how2java.springboot.dao.CategoryDAO;
import com.how2java.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());
        }

    }
}

唯有不争,举世间莫能与之争!

Original: https://www.cnblogs.com/GeniusWang/p/15644221.html
Author: Genius_Wang
Title: 6.19(junit–>在maven和Spring中的使用)

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/583154/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • linux中软件的安装方式

    linux中软件的安装方式 四种方式 ​ 源码编译安装 ​ rpm安装 ​ yum安装 解压、配置(hadoop、hive等) 1.源码编译安装 1.为了编译nginx源码 yum…

    Linux 2023年6月11日
    088
  • 接口测试

    :配置windows中特定应用的抓包(默认抓取不到) :添加备注信息 :重新发起指定请求 :清空指定会话内容 :断点放行 :模式切换 :相应数据解码 :抓取指定进程发出的请求 :关…

    Linux 2023年6月7日
    068
  • GFS-Google 文件系统

    GFS分布式文件系统 简介 GFS是一个可扩展的分布式文件系统,用于大型的、分布式的、对大量数据进行访问的应用。它运行于廉价的普通硬件上,并提供容错功能。它可以给大量的用户提供总体…

    Linux 2023年6月13日
    077
  • 正则表达式在grep中的使用

    GREP用法 grep "after" profile #查找文件内的包含after单词的行 grep -n "after" profile…

    Linux 2023年6月11日
    086
  • redis缓存数据库简单使用

    1、在Linux上安装与配置 -最新:7.0 -最稳定版本:6.x-讲课:5.x-企业里:3.x,4.x,5.x 6.x(极少数公司在用)-windows:3.x,5.x 1 速度…

    Linux 2023年6月14日
    084
  • String为什么不是基本数据类型

    java虚拟机处理基础类型与引用类型的方式是不一样的,对于基本类型,java虚拟机会为其分配数据类型实际占用的内存空间,对于引用类型变量,他仅仅是一个指向堆区中某个实例的指针。 O…

    Linux 2023年6月7日
    091
  • 中土批量运维神器《ps1屠龙刀》 pk 西域批量运维圣器《ansible圣火令》

    据故老相传,运维界有句话:”脚林至尊,宝刀【ps1屠龙】,号令被控,莫敢不从”。 https://gitee.com/chuanjiao10/kasini3…

    Linux 2023年5月27日
    0105
  • linux–文件系统

    才开始接触linux是这样: 这个是shell界面 根目录下的文件 : linux在路径中不使用盘符;采用的是虚拟目录(根目录’/’ 就是一个虚拟目录) ,…

    Linux 2023年6月14日
    097
  • MySQL数据库用户授权

    相关库:mysql 相关表:user 查看权限表: 5.7之前的版本 select user,host,password from mysql.user; 5.7之后的版本 sel…

    Linux 2023年6月14日
    074
  • 一键部署服务(shell)

    博客园 :当前访问的博文已被密码保护 请输入阅读密码: Original: https://www.cnblogs.com/Willoneday/p/16534113.htmlAu…

    Linux 2023年6月7日
    082
  • Redis 位图BitMap

    应用场景: 用户签到 用户在线状态 统计活跃用户 各种状态值 自定义布隆过滤器 点赞功能 说明: 用string类型作为底层数据结构实现的一种统计状态的数据类型。 位图本质是数组,…

    Linux 2023年5月28日
    094
  • How to show or hide views within a layout

    Android programming: mode selection and switching using a single activity, Show or hide vi…

    Linux 2023年6月13日
    067
  • Spring 4 集成 redis 实现缓存 一

    随着Web项目的复杂程度逐渐增加,可能会涉及诸如高并发、海量数据查询的的业务场景也逐渐增多;若频繁的操作数据库,会触发数据库的I/O瓶颈,因此需要加入缓存,尽量减少直接操作数据库的…

    Linux 2023年6月14日
    080
  • 爬取与数据存储

    ch5. 数据存储 文件存储 JSON文件存储 关系型数据库存储 Mysql 1. JSON文件存储 1. JSON中的对象和数组 *对象 ​ 格式为 {key1:value1, …

    Linux 2023年6月7日
    066
  • 软件工程 统一过程软件(RUP) 第5篇随笔

    1.RUP简介 本质: 是”一般的过程框架” 为软件开发,进行不同抽象层之间”映射”,安排其开发活动的次序,指定任务和需要开发的志平…

    Linux 2023年6月7日
    0106
  • ELK时间戳

    ELK时间戳 在我们使用ELK过程中,总会遇到时间戳的问题。首先 logstash如果没有加以处理的话,那么它默认使用的是采集的时间戳,然后存入 ES。那么这样的话时间显示的是错误…

    Linux 2023年6月8日
    091
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球