近学习了在myeclipse中进行单元测试,写点东西总结总结。
JUnit单元测试:
测试对象为一个类中的方法。
juint不是javase中的部分,所以必须导入jar包,但是myeclipse自带了juint的jar包。
单元测试的方法命名规则为:
public void 方法名(){ }
首先,如下图所示,建立相应的project、package、以及class。
其中Test文件夹为Source Folder。在Source Folder文件夹下建立一个名称一样的package。
在Test1.Java中我们有不同的方法(即待测试方法),在Test_juint.java中使用注解的方式来进行单元测试。
注解共有四种:@Test @Ignore @Before @After
具体含义:
@Test 表示这是一个用来测试待测试方法的方法。(重点掌握)
@Ignore 表示这个方法不执行,被忽略。
@Before 表示在每个方法之前都会执行该测试方法一次。
@After 表示在每个方法之后都会执行该测试方法一次。
现将代码贴出来:
Test1.java
public class Test1 {
public static void main(String[] args) {
}
// 方法1
public static void addNum(int a, int b) {
System.out.println(a + b);
}
// 方法2
public static void method2() {
System.out.println("这是方法2.。。");
}
// 方法3
public static void method3() {
System.out.println("这是方法3.。。");
}
// 方法4
public static void method4() {
System.out.println("这是方法4.。。");
}
}
Test_juint.java
package com.ywq1;
import org.junit.After;
import org.junit.Before;
import org.junit.Ignore;
import org.junit.Test;
public class Test_juint {
@Test
public void testAddNum(){
Test1 ts=new Test1();
ts.addNum(3, 6);
}
@After
public void testm2(){
Test1 ts=new Test1();
ts.method2();
}
@Ignore
public void testm3(){
Test1 ts=new Test1();
ts.method3();
}
@Before
public void testm4(){
Test1 ts=new Test1();
ts.method4();
}
}
如何运行?
方法1:在测试方法类中,我们可以选中某个方法比如testm3,选择Run as ---->JUint Test
方法2:将整个测试类运行,选择Run as ---->JUint Test
结果如何?
如图出现绿条说明方法测试成功。
按照上边的代码,在Console中将出现如下结果:
即标有Ignore的测试方法没有被执行,Before和After方法分别在Test方法之前和之后执行了一次。