• JUnit——(一)使用IDEA进行基本操作


     JUnit是一个回归测试框架(regression testing framework)。Junit测试是程序员测试,即所谓白盒测试,因为程序员知道被测试的软件如何(How)完成功能和完成什么样(What)的功能。Junit是一套框架,继承TestCase类,就可以用Junit进行自动测试了。

    1. 创建项目

    其中:

    1)com.junit.MyClass用于存放类

    2)为了不将测试添加到源中,创建与src平级的目录:tests,存放测试类。这样测试将从产品代码中分离出来。然后Mark Director As:Test Source Root

    2. 在com.junit.MyClass中添加新的类用于测试:

    Calculator.java

    package com.junit.MyClass;
    
    /**
     * Created by lesley on 2017/1/14.
     */
    public class Calculator {
        public int add(int value1, int value2){
            return value1 + value2;
        }
    }

    3. 添加Calculator的单元测试类

    点击类名,选择 Go to——test

    或者直接:Cmd + Shift + T:

    选择JUnit4作为单元测试库。IDEA将这个库添加到模块中。选择生成add()方法

    当测试类生成以后,我们可以为我们的测试方法CalculatorTest添加方法:

    package com.junit.MyClass;
    
    import org.junit.Before;
    import org.junit.Test;
    
    import static org.junit.Assert.*;
    
    /**
     * Created by lesley on 2017/1/14.
     */
    public class CalculatorTest {
        //注意这个不能忘记!!要不然后面无法调用
        private Calculator calculator;
        @Before
        public void setUp() throws Exception {
            calculator = new Calculator();
        }
    
        @Test
        public void add() throws Exception {
            assertEquals(calculator.add(3, 5),8);
        }
    
    }

     4. 运行测试

    点击 Run CalculatorTest

    结果显示如下:

     5. 编辑测试设置

    我们可以通过Run ——Edit Configuration或工具栏上的标签来调整我们测试运行配置:

    在Configuration选项卡,用户可以选择需要运行的测试。例如,您可以从一个类、程序包、测试套件或甚至模式中运行所有的测试。这里的Fork模式让用户在一个单独的进程运行每个测试。

    代码覆盖测试:

    1)默认情况下使用自己的测试引擎

    2)覆盖率模式:Tracing会增加消耗,但是测试会更准确

     6. 运行覆盖

    收集覆盖率,用户需要通过Run → Run 'MyClassTest' with Coverage或工具栏上的选项运行特定模式的测试。

     

    当覆盖模式运行至少一个测试之后,IDE将会在Project工具窗口显示每个程序包、类的覆盖率数据,同时在Coverage工具窗和编辑器中也会显示。

    如果用户添加另一个方法到MyClass,并运行覆盖率测MyClass,就会发现,没有被测试覆盖到的代码都将高亮显示为红色。覆盖的代码颜色则是绿色。如果一些代码是只覆盖部分,那没将显示为黄色。

    7. 批量操作

    我们写两个测试类:一个是刚刚写的Calculator.java,还有一个为User.java:

    package com.junit.MyClass;
    
    /**
     * Created by lesley on 2017/1/14.
     */
    public class User {
        public String getName(){
            return ("sbw");
        }
    }

    User类对应的UserTest.java:

    package com.junit.MyClass;
    
    import org.junit.Before;
    import org.junit.Test;
    
    import static org.junit.Assert.*;
    
    /**
     * Created by lesley on 2017/1/14.
     */
    public class UserTest {
        private User user;
        @Before
        public void setUp() throws Exception {
            user = new User();
    
        }
        @Test
        public void getName() throws Exception {
            assertEquals("sbw", user.getName());
    
        }
    
    }

    如果我们要批量执行这两个类有两种方法:

    一、点击tests下面这个测试包“com.junit.MyClass”,选“Run Tests in com.junit.MyClass”就可以执行这个包下所有的测试:

    二、引入“测试套件”

    如果我们只是选择性的执行一些测试类,则我们可以利用“测试套件”——Suite(or test suite)。

    编写测试套件的原则:

     1. 创建一个空类作为测试套件的入口;

      2. 使用注解 org.junit.runner.RunWith 和 org.junit.runners.Suite.SuitClasses 修饰这个空类

      3. 将org.junit.runners.Suite作为参数传入给注解RunWith,以提示Junit为此类测试使用套件运行器执行。

      4. 将需要放入此测试套件的测试类组成数组作为注解SuiteClasses的参数

      5. 保证这个空类使用public修饰,而且存在公开的不带任何参数的构造函数

    AllTest.java:

    package com.junit.MyClass;
    
    /**
     * Created by lesley on 2017/1/14.
     */
    import org.junit.runner.*;
    import org.junit.runners.Suite;
    
    @RunWith(Suite.class)
    @Suite.SuiteClasses({
            CalculatorTest.class,
            UserTest.class
    })
    public class AllTest {
    
    }

    这个时候项目的结构如下:

  • 相关阅读:
    鼠标放在图片上出现提示
    NSIS调用dll
    IIS7 CMD命令
    NSIS检测
    NSIS修改文件夹访问权限
    NSIS——检测IIS是否安装及版本
    NSIS——检测SQL Server安装版本
    NSIS使用技巧集合
    提供修复界面的NSIS安装包
    NSIS MUI教程
  • 原文地址:https://www.cnblogs.com/lesleysbw/p/6285980.html
Copyright © 2020-2023  润新知