Junit的简介与应用

Junit是由Erich Gama与Kent Beak开发的,这两位是敏捷编程的领袖。
Junit最大的特点就是方法间是相互独立的,但是我们要注意的是Junit他只是一个工具
现在软件界已经有一个不成文的规定,就是Java的测试就是用Junit。

我们还要了解下,什么是单元测试,我们都知道测试工程师,但是我们要知道这个单元测试并不是由测试工程师完成的,而是由程序员编写的测试,被测试的代码的某一个很小的,特定的功能区域的代码,可以用来确保在代码或者程序运行的环境中发生变化后,程序还能执行。


Junit最好用的版本就是Junit 3.8与Junit 4.x,这两个版本有什么区别呢。Junit 4.x的版本只能在java5上运行,而java5以前则不能有Junit 4.x只能用Junit 3 。我们要测试的工程中需要导入Junit的lib注意我们要分清我们用的是哪个版本,如果用的是4.x的版本我们就要导入4.x的lib,如果用的是3就要导入3的lib,不能混淆因为里面会有很多方法和用法的不同。导入以后我们在src上new一个Source Folder用于存放测试的源代码,这样可以把两个代码分开免得被混淆了,然后在你要测试的java文件上面点击右键new一个Junit TestCase存放这个TestCase的位置就是在那个我们new的Source Folder中。

在Junit 3.8这个版本中,被测试的方法必须要用test开头,如果不是用的test开头则没有办法进行测试,有的朋友问了,这是为什么呢,原因就是呢 Junit 3.8这个版本编写的时候用的的是反射方法。具体反射方法究竟是一个什么方法,感兴趣的同学可以去baidu一下,或者google下,baidu和google是最好的老师。这里我们只是提到了3.8这个版本在测试的方法前面一定要加上test,那4.x呢?4.x则不是,因为4.x编写的时候用的是java5中注释的方法编写的,所以不用一定在前面加上test,那什么又是注释方法呢?举一个简单的例子,我们用MyEclipse自己生成Servlet的时候细心的人都会发现,有的方法前面会有一个灰色的@后面跟一小段话,这个就是注释喽。4.x就是采用这样的方式。

说了好多无关紧要的东西,下面就给一个小小的例子吧。

我们建立一个java程序,名字叫 MathDemo
里面写一个方法
        public class MathDemo{
            public int add(int a,int b){
            return a+b;
        }
        }
然后生成一个测试类,测试类中我们写一个testadd()fangfa
        public class MathDemo extends TestCase{
        public void testAdd(){
          MethDemo demo = new MethDemo();
          int expetected = 2;
          int trueValue = demo.add(1,1);
          assertEquals(expetected,trueValue);  
        //assert是断言,就是断言expetected Equals trueValue,assert也就是一个方法
        }
        }

写好了 我们可以在这个测试类上点击右键  run as  Junit看下效果。

你可能感兴趣的:(Junit的简介与应用)