软件测试——JUnit中的参数化测试
生活随笔
收集整理的這篇文章主要介紹了
软件测试——JUnit中的参数化测试
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
2019獨角獸企業(yè)重金招聘Python工程師標準>>>
參數化測試用于當需要使用多組不同的測試數據測試同一個方法的時候。
?
使用參數化測試的要點:
① 為該測試方法專門生成一個新的類;
② 指定類的Runner為org.junit.runners.Parameterized類;
③ 聲明幾個變量,用于存放測試數據和預期結果;
④ 定義一個用于準備數據的公共靜態(tài)方法,該方法使用org.junit.runners.Parameterized.Parameters標注進行修飾,在方法中定義一個java.util.Collection存放測試數據和預期結果,并將該Collection作為返回值;
⑤ 創(chuàng)建一個帶參的構造函數,并在其中對③中的變量賦值;
⑥ 編寫測試方法,使用③中的變量進行測試。
?
參數化測試的執(zhí)行流程:prepareData() →?MaxTest(arg1, arg2, expected) → testMax()
?
import static org.junit.Assert.*;import java.util.Arrays; import java.util.Collection;import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.Parameterized; import org.junit.runners.Parameterized.Parameters;@RunWith(Parameterized.class) public class MaxTest {private double arg1 = 0;private double arg2 = 0;private double expected = 0;public MaxTest(double arg1, double arg2, double expected) {this.arg1 = arg1;this.arg2 = arg2;this.expected = expected;}@Parameterspublic static Collection<Object[]> prepareData() {Object[][] objects = {{1, 2, 2}, {2, 1, 2}, {1, 1, 1}};return Arrays.asList(objects);}@Testpublic void testMax() {double result = Math.max(arg1, arg2);assertEquals(expected, result, 0);} }?
轉載于:https://my.oschina.net/zhengyuekai/blog/44986
《新程序員》:云原生和全面數字化實踐50位技術專家共同創(chuàng)作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的软件测试——JUnit中的参数化测试的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux环境下创建MyOS虚拟机
- 下一篇: 图片跑马灯