当前位置 : 主页 > 编程语言 > java >

【Java】Junit测试类

来源:互联网 收集:自由互联 发布时间:2022-06-30
测试分类 黑盒测试:不需要写代码,给输入值,看程序是否能够输出期望的值。 白盒测试:需要写代码的。关注程序具体的执行流程。Junit用于白盒测试 Junit使用步骤 定义一个测试类

测试分类

  • 黑盒测试:不需要写代码,给输入值,看程序是否能够输出期望的值。
  • 白盒测试:需要写代码的。关注程序具体的执行流程。Junit用于白盒测试
  • Junit使用步骤

  • 定义一个测试类(测试用例)
  • * 测试类名:被测试的类名Test CalculatorTest
    * 包名:xxx.xxx.xx.test cn.itcast.test
  • 定义测试方法:可以独立运行
  • * 方法名:test测试的方法名 testAdd()
    * 返回值:void
    * 参数列表:空参
  • 给方法加@Test
  • 导入junit依赖环境
  • * 判定结果:
    * 红色:失败
    * 绿色:成功
    * 一般我们会使用断言操作来处理结果
    * Assert.assertEquals(期望的结果,运算的结果);
  • 补充:
  • * @Before:
    * 修饰的方法会在测试方法之前被自动执行
    * @After:
    * 修饰的方法会在测试方法执行之后自动被执行

    示例代码

    自定义的类代码

    /**
    * 计算器类
    */
    public class Calculator {


    /**
    * 加法
    * @param a
    * @param b
    * @return
    */
    public int add (int a , int b){
    //int i = 3/0;

    return a - b;
    }

    /**
    * 减法
    * @param a
    * @param b
    * @return
    */
    public int sub (int a , int b){
    return a - b;
    }

    }

    不使用测试类,进行测试,需要不断注释,不方便

    public class CalculatorTest {

    public static void main(String[] args) {

    //创建对象
    Calculator c = new Calculator();
    //调用
    /* int result = c.add(1, 2);
    System.out.println(result);*/

    int result = c.sub(1, 1);
    System.out.println(result);

    String str = "abc";
    }
    }

    测试类代码,加上注解@test,可以独立运行此部分代码,不用再main方法里运行了

    import cn.itcast.junit.Calculator;
    import org.junit.After;
    import org.junit.Assert;
    import org.junit.Before;
    import org.junit.Test;

    public class CalculatorTest {
    /**
    * 初始化方法:
    * 用于资源申请,所有测试方法在执行之前都会先执行该方法
    */
    @Before
    public void init(){
    System.out.println("init...");
    }

    /**
    * 释放资源方法:
    * 在所有测试方法执行完后,都会自动执行该方法
    */
    @After
    public void close(){
    System.out.println("close...");
    }


    /**
    * 测试add方法
    */
    @Test
    public void testAdd(){
    // System.out.println("我被执行了");
    //1.创建计算器对象
    System.out.println("testAdd...");
    Calculator c = new Calculator();
    //2.调用add方法
    int result = c.add(1, 2);
    //System.out.println(result);

    //3.断言 我断言这个结果是3
    Assert.assertEquals(3,result);

    }

    @Test
    public void testSub(){
    //1.创建计算器对象
    Calculator c = new Calculator();
    int result = c.sub(1, 2);
    System.out.println("testSub....");
    Assert.assertEquals(-1,result);
    }
    }


    上一篇:【Java】Stream流(非IO流)
    下一篇:没有了
    网友评论