测试===JUnit单元测试
測試
- 一,測試分類
- 二,單元測試Junit,你以為的junit只是@Test注解嗎,shallow..
- 優(yōu)點:
- 規(guī)范:
- 斷言:
- 案例demo:
- junit test case測試類創(chuàng)建,執(zhí)行測試,結果反饋
- junit test suite 套娃測試,suite套suite,suite套case
- 當參數(shù)和結果有沖突時,測試具體某個方法
一,測試分類
測試細致分類:
功能測試:
1. 包括白盒,黑盒
2. 準備測試數(shù)據(jù)
3. 多環(huán)境測試:(測試環(huán)境(局域網數(shù)據(jù)),預發(fā)布環(huán)境(外網數(shù)據(jù)),正式環(huán)境)
自動化測試
使用工具,來測試產品。
性能測試(jmeter)、壓力測試
響應速度、主要是模擬高并發(fā)場景
編寫測試報告
各個具體業(yè)務流程,截圖,具體時間,哪些地方有bug,哪些error,哪些failure記錄下來!
bug跟蹤系統(tǒng)
用來記錄并跟蹤bug,當前bug的數(shù)量,當前bug經過多長時間才被解決掉,等… 是一套這樣的系統(tǒng),有第三方的,也有公司自己研發(fā)的。
對bug數(shù)據(jù)進行統(tǒng)計,分析,解決。
二,單元測試Junit,你以為的junit只是@Test注解嗎,shallow…
優(yōu)點:
優(yōu)點:junit包括junit case和junit suite。能夠一次性的測試多個方法,或者多個單元測試類,并設置預期的結果。運行的結果是測試run了多少個方法,哪些error, 哪些failure了。
規(guī)范:
1.測試方法上必須使用@Test進行修飾
2.測試方法必須使用public void進行修飾,不能帶任何的參數(shù)
3.新建一個源代碼目錄用來存放測試代碼
4.測試類的包應該和被測試類保持一致
5.測試單元中的每個方法必須獨立測試,測試方法間不能有任何的依賴
6.測試類使用Test作為類的后綴
7.測試方法使用test作為方法名的前綴
斷言:
測試結果與設置預期的結果對比。
斷言 //查看兩個數(shù)組是否相等。 assertArrayEquals(expecteds, actuals) //查看兩個對象是否相等。類似于字符串比較使用的equals()方法 assertEquals(expected, actual) //查看兩個對象是否不相等。 assertNotEquals(first, second) //查看對象是否為空。 assertNull(object) //查看對象是否不為空。 assertNotNull(object) //查看兩個對象的引用是否相等。類似于使用“==”比較兩個對象 assertSame(expected, actual) //查看兩個對象的引用是否不相等。類似于使用“!=”比較兩個對象 assertNotSame(unexpected, actual) //查看運行結果是否為true。 assertTrue(condition) //查看運行結果是否為false。 assertFalse(condition) //查看實際值是否滿足指定的條件 assertThat(actual, matcher) fail() 讓測試失敗案例demo:
junit test case測試類創(chuàng)建,執(zhí)行測試,結果反饋
這里使用eclipse,java8
開始編寫德莫,求和,除法
創(chuàng)建junit測試類,包名和src下面的一樣,類名在原類名上+Test
上面的下一步
右鍵運行測試
控制臺
junit test suite 套娃測試,suite套suite,suite套case
這個能一次性的測試更多方法。
結構
運行 AllTests
當參數(shù)和結果有沖突時,測試具體某個方法
package cn.bitqian.demo;import java.util.Arrays; import java.util.Collection;import org.junit.Assert; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.Parameterized; import org.junit.runners.Parameterized.Parameters;/*** 測試MyMath類中的add方法* @author echo lovely* @date 2020年11月13日 下午8:08:17*/@RunWith(Parameterized.class) public class MyMathAddTest {// 預期值int excepted = 0;// 參數(shù)1int input1 = 0;// 參數(shù)2int input2 = 0;public MyMathAddTest(int excepted, int input1, int input2) {super();this.excepted = excepted;this.input1 = input1;this.input2 = input2;}@Parameterspublic static Collection<Object[]> t(){return Arrays.asList(new Object[][]{{4,2,2},{11,9,2},{8,6,2},{1,-6,7}// res v1 v2});}@Testpublic void testAdd(){MyMath myMath = new MyMath();Assert.assertEquals(this.excepted,myMath.add(this.input1, this.input2));}}總結
以上是生活随笔為你收集整理的测试===JUnit单元测试的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java 不存在就创建_Java 判断多
- 下一篇: js正则表达式 读取html代码中的 j