• Eclipse的Junit单元测试


    使用单元测试的好处:方便查找到程序的问题所在之处。

    JUnit的好处:无需编写main()方法,即可对程序进行测试

    导包:导入Junit相关的jar包。实际测试中并未有下载,直接在Eclipse中设置即可。

    右键项目 >> Bulid Path >> Add Libraries...

    选择JUnit:

     选择合适的JUnit版本,这里我选择的是Junit5,Finally

     具体测试:

    编写被测试类:

    Calculator.java

    package test;
    
    public class Calculator {
    
        public int add(int a, int b) {
            return a + b;
        }
    
        public int sub(int a, int b) {
            return a - b;
        }
    }

    编写测试类:

    CalculatorTest.java

    package test;
    
    import org.junit.Assert;
    import org.junit.Test;
    
    public class CalculatorTest {
    
        @Test //此处是必须有的
        public void testAdd() {
            Calculator c = new Calculator();
            int result = c.add(1, 2);
            Assert.assertEquals(result, 3);
        }
    
        @Test //此处是必须有的
        public void testSub() {
            Calculator c = new Calculator();
            int result = c.sub(2, 1);
            Assert.assertEquals(result, 1);
        }
    
    }

    于CalculatorTest.java中右键 >> run as >> JUnit Test 运行结果如图:

     JUnit的几种类似@Test的注解:

    1. @Test:测试方法

      a)(expected = XXException.class)如果程序的异常和XXException.class 一样,则测试通过

      b)(timeout = 100)如果程序的执行能在100毫秒内完成,则测试通过

    2. @Ignore:被忽略的测试方法,加上之后,暂时不运行此段代码

    3. @Before:每一个测试方法之前都会运行。

    4. @After:每一个测试方法之后都会执行。

    5. @BeforeClass:方法必须是静态方法(并非用来测试静态方法的,而是进行测试的具体方法是静态的),所有测试开始之前运行。

    6. @AfterClass:方法必须是静态的(同上),所有测试结束之后运行

    实例:package test;

    import org.junit.After;
    import org.junit.AfterClass;
    import org.junit.Assert;
    import org.junit.Before;
    import org.junit.BeforeClass;
    import org.junit.Test;
    
    public class CalculatorTest {
    
        Calculator c = null;
    
        @BeforeClass
        public static void TestBeforeClass() {
            System.out.println("testBeforeClass()");
        }
    
        @Before
        public void testBefore() {
            System.out.println("testBefore()");
            c = new Calculator();
        }
    
        @Test
        public void testAdd() {
            int result = c.add(1, 2);
            System.out.println("testAdd()");
            Assert.assertEquals(result, 3);
        }
    
        @Test
        public void testSub() {
            int result = c.sub(2, 1);
            System.out.println("testSub()");
            Assert.assertEquals(result, 1);
        }
    
        @After
        public void testAfter() {
            System.out.println("testAfter()");
        }
    
        @AfterClass
        public static void testAfterClass() {
            System.out.println("testAfterClass()");
        }
    
    }
    //输出:

    /*
    * testBeforeClass()
    * testBefore()
    * testAdd()
    * testAfter()
    *
    * testBefore()
    * testSub()
    * testAfter()
    * testAfterClass()
    */

  • 相关阅读:
    C# 综合练习题目 及 答案解析
    SQL数据库子查询练习题及解析
    SQL数据库 连接查询、变量、选择、循环、延时语句等
    SQL数据库中模糊查询、排序、聚合函数、数学函数、字符串函数、时间日期函数、转换、函数转换等
    SQL数据库的创建及简单增删改查语句运用
    SQL数据库简介
    ado.net操作数据库
    轻松美化窗体
    面向对象(委托)
    面向对象(五大原则)
  • 原文地址:https://www.cnblogs.com/MXming/p/14293543.html
Copyright © 2020-2023  润新知