zoukankan      html  css  js  c++  java
  • Junit使用

    Junit基本使用:

    主要是通过写相关的测试,然后在通过元数据进行修饰(元数据就是描述数据的数据,类似于Java中的public.主要有Test,BeforeClass, Befoer, After, AfterClass,其生命周期

    从 Junit 官方下载网站 https://github.com/KentBeck/junit/downloads 上下载 junit-4.9.zip.,
    把下载到的文件解压缩出来。(路径最好不要有中文字符)。
    为了验证环境是否配置正确,我们编写一个类,和一个测试类。

    类:

    public class calculator {
        private calculator() {}
    
        public static int Add(int firstValue, int secondValue) {
            return firstValue + secondValue;
        }
    
        public static int Sub(int firstValue, int secondValue) {
            return firstValue - secondValue;
        }
    
        public static int Mul(int firstValue, int secondValue) {
            return firstValue * secondValue;
        }
    
        public static int Div(int firstValue, int secondValue) {
            try {
                int result = firstValue / secondValue;
                return result;
            } catch(Exception e) {
                System.out.println("div zero");
            }
            return 0;
        }
    }

    测试类:

    import static org.junit.Assert.*;
    import org.junit.Test;
    public class  calculatorTest {
        @Test
        public void testAdd() {
            System.out.println("AddTest");
            assertEquals(6, calculator.Add(4, 2));
        }
    
        @Test
        public void testSub() {
            System.out.println("SubTest");
            assertEquals(2, calculator.Sub(4, 2));
        }
    
        @Test
        public void testMul() {
            System.out.println("MulTest");
            assertEquals(8, calculator.Mul(4, 2));
        }
    
        @Test
        public void testDiv() {
            System.out.println("DivTest");
            assertEquals(2, calculator.Div(4, 2));
        }
    }

    把这两个文件放在同一个目录下。
    使用如下命令运行:
    @sser>javac –classpath .:junit-4.9.jar calculatorTest.java
    @sser>java –classpath .:junit-4.9.jar –ea org.junit.runner.JUnitCore calculatorTest
    可得到如下输出结果:
    JUnit version 4.9
    .
    Time 0.007
    OK(4 test)
    我们可以看到运行正确,这也证明了我们的环境配置正确。

    用junit进行参数化测试,主要是用到了Parameterized这个运行器

    例子如下:

    public class calculator2 {
        private int firstValue, secondValue;
        
        public calculator2(int first, int second)
        {
            this.firstValue = first;
            this.secondValue = second;
        }
    
        public int getFirst() 
        {
            return firstValue;
        }
    
        public int getSecond()
        {
            return secondValue;
        }
    
        public int Add() {
            return firstValue + secondValue;
        }
    
        public int Sub() {
            return firstValue - secondValue;
        }
    
        public int Mul() {
            return firstValue * secondValue;
        }
    
        public int Div() {
            try {
                int result = firstValue / secondValue;
                return result;
            } catch(Exception e) {
                System.out.println("div zero");
            }
            return 0;
        }
    }

    测试类:

    import java.util.Arrays;
    import java.util.Collection;
    
    import org.junit.Test;
    import static org.junit.Assert.*;
    import org.junit.runner.RunWith;
    import org.junit.runners.Parameterized;
    import org.junit.runners.Parameterized.Parameters;
    
    //指定运行器org.junit.runners.Parameteized
    @RunWith(Parameterized.class)
    public class calculator2Test {
        private calculator2 cal;
        //用于保存传入的参数
        private int firstValue, secondValue;
        
        //创建需要传入的参数对
        @Parameters
        public static Collection perpareData()
        {
            Object[][] objdects = new Object[][] {
                {4, 3}, {2, 3}, {5, 5},{6, 7}
            };
            return Arrays.asList(objdects);
        }
    
        //为测试类声明一个带有参数的公共构造函数,便于传入参数
        public calculator2Test(int first, int second)
        {
            this.firstValue = first;
            this.secondValue = second;
            cal = new calculator2(firstValue, secondValue);
        }
        //编写测试
        @Test
        public void testAdd() {
            int first = cal.getFirst();
            int second = cal.getSecond();
            assertEquals(first+second, cal.Add());
        }
    }

    把这两个文件放在同一个目录(目录下要有junit-4.9.jar)下。
    使用如下命令运行:
    @sser>javac –classpath .:junit-4.9.jar calculator2Test.java
    @sser>java –classpath .:junit-4.9.jar –ea org.junit.runner.JUnitCore calculator2Test

    (参数说明-classpath指定路径.:junit-4.9.jar指定了当前路径与当前路径下的junit-4.9,jar)

  • 相关阅读:
    增强遍历和Object多参数遍历
    Git忽略规则(.gitignore配置)不生效原因和解决
    算法基本概念及常用算法Python实现
    使用GitBook编写项目文档
    Python 闭包
    Linux 进程管理
    Kafka 安装及入门
    IP地址0.0.0.0表示什么
    Docker 入门
    Docker Linux下安装
  • 原文地址:https://www.cnblogs.com/kinthon/p/4765849.html
Copyright © 2011-2022 走看看