Junit參數化測試方法(一)


一、JUnit4參數化測試的五個步驟:

(1)為准備使用參數化測試的測試類指定特殊的運行器 import org.junit.runners.Parameterized。
(2)為測試類聲明幾個變量,分別用於存放期望值和測試所用數據。
(3)為測試類聲明一個帶有參數的公共構造函數,並在其中為第二個環節中聲明的幾個變量賦值。
(4)為測試類聲明一個使用注解 org.junit.runners.Parameterized.Parameters 修飾的,返回值為 java.util.Collection 的公共靜態方法,並在此方法中初始化所有需要測試的參數對,該方法的名字不做要求、該方法沒有參數。

(5)編寫測試方法,使用定義的變量作為參數進行測試。

二、實戰

    仍然以oracleconnect.jar測試為例,配置junit及導入JAR包過程略,詳見http://www.cnblogs.com/shuaijie/articles/5757186.html

    1、新建junit test case:JunitTest002.java

 1 package JunitTestSample001;
 2 
 3 import java.util.Arrays;
 4 import java.util.Collection;
 5 
 6 import org.junit.AfterClass;
 7 import org.junit.Assert;
 8 import org.junit.BeforeClass;
 9 import org.junit.Test;
10 import org.junit.runner.RunWith;
11 import org.junit.runners.Parameterized;
12 import org.junit.runners.Parameterized.Parameters;
13 
14 import testsample001.check;
15 
16 @RunWith(Parameterized.class)
17 public class JunitTest002 {
18 
19     // private static IUserService userService = null;
20 
21     @BeforeClass
22     public static void setUp() throws Exception {
23     }
24 
25     // (2)步驟二:為測試類聲明幾個變量,分別用於存放期望值和測試所用數據。此處我只放了測試所有數據,沒放期望值。
26     private String productNO;
27     private String resultInfo;
28 
29     // (3)步驟三:為測試類聲明一個帶有參數的公共構造函數,並在其中為第二個環節中聲明的幾個變量賦值。
30     public JunitTest002(String productsn, String expectInfo) {
31         this.productNO = productsn;
32         this.resultInfo = expectInfo;
33     }
34 
35     // (4)步驟四:為測試類聲明一個使用注解 org.junit.runners.Parameterized.Parameters 修飾的,返回值為
36     // java.util.Collection 的公共靜態方法,並在此方法中初始化所有需要測試的參數對。
37     @Parameters
38     @SuppressWarnings("rawtypes")
39     public static Collection testData() {
40 
41         return Arrays.asList(new Object[][] { { "1", "防偽碼存在!" },
42                 { "2", "防偽碼存在!" }, { "3", "防偽碼存在!" }, });
43 
44     }
45 
46     // (5)步驟五:編寫測試方法,使用定義的變量作為參數進行測試。
47     @Test
48     public void testresultInfo() {
49         System.out.println("-------------");
50         // User user2 = userService.findByName(usernameParam);
51         check connor = new check();
52         String actresultInfo = connor.ConnectOracle(productNO);
53         System.out.println(actresultInfo);
54         Assert.assertEquals(resultInfo, actresultInfo);
55     }
56 
57     @AfterClass
58     public static void tearDown() throws Exception {
59     }
60 }
View Code

    2、運行結果:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM