最近学习了在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
package com.ywq1; 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方法之前和之后执行了一次。