zoukankan      html  css  js  c++  java
  • junit基础学习之-简介(1)

      JUnit介绍

    JUnit是一个开源的Java单元测试框架,由 Erich Gamma 和 Kent Beck 开发完成。

    1  JUnit简介

    JUnit主要用来帮助开发人员进行Java的单元测试,其设计非常小巧,但功能却非常强大。

    下面是JUnit一些特性的总结:

    — 提供的API可以让开发人员写出测试结果明确的可重用单元测试用例。

    — 提供了多种方式来显示测试结果,而且可以扩展。

    — 提供了单元测试批量运行的功能,而且可以和Ant很容易地整合。

    — 对不同性质的被测对象,如Class,JSP,Servlet等,JUnit有不同的测试方法。

    2  为什么要使用JUnit

    以前,开发人员写一个方法,如下代码所示:

    //******* AddAndSub.java**************
    
    //如果要对AddAndSub类的add和sub方法进行测试,通常要在main里编写相应的测试方法,如下代码所示:
    
    //******* MathComputer.java**************
    
    public Class AddAndSub {
    
        public static int add(int m, int n) {
    
            int num = m + n;
    
            return num;
    
        }
    
        public static int sub(int m, int n) {
    
            int num = m - n;
    
            return num;
    
        }
    
        public static void main(String args[]) {
    
            if (add (4, 6) == 10)) {
    
                System.out.println(“Test Ok”);
    
            } else {
    
                System.out.println(“Test Fail”);
    
            }
    
            if (sub (6, 4) ==2)) {
    
                System.out.println(“Test Ok”);
    
            } else {
    
                System.out.println(“Test Fail”);
    
            }
    
        }
    
    }

    从上面的测试可以看出,业务代码和测试代码放在一起,对于复杂的业务逻辑,一方面代码量会非常庞大,另一方面测试代码会显得比较凌乱,而JUnit就能改变这样的状况,它提供了更好的方法来进行单元测试。使用JUnit来测试前面代码的示例如下:

    //******* TestAddAndSub.java**************

    import junit.framework.TestCase;

    public Class TestAddAndSub  extends TestCase {

        public void testadd() {

            //断言计算结果与10是否相等

            assertEquals(10, AddAndSub.add(4, 6));

        }

        public void testsub() {

            //断言计算结果与2是否相等

            assertEquals(2, AddAndSub.sub(6, 4));

        }

        public static void main(String args[]){ 

             junit.textui.TestRunner.run(TestAddAndSub .class);    }

    }

    从上可以看到,测试代码和业务代码分离开,使得代码比较清晰,如果将JUnit放在Eclipse中,测试起来将会更加方便。

  • 相关阅读:
    SQL Server中怎样可以从SELECT语句的结果集中删除重复行
    Comparison method violates its general contract!
    如何解决 不能以 DISTINCT 方式选择 text、ntext 或 image 数据类型
    TortoiseSVN—Repo-browser
    使用BigDecimal完成小数点后的精确位数的四舍五入
    CREATE TABLE 语句后的 ON [PRIMARY] 起什么作用
    sql server 获取每一个类别中值最大的一条数据
    C# 正则表达式
    Linq to XML 读取XML 备忘笔记
    安装双系统需要注意的几个问题
  • 原文地址:https://www.cnblogs.com/x739400043/p/4733114.html
Copyright © 2011-2022 走看看