国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

Java從零開始學四十六(Junit)

2019-11-14 23:54:05
字體:
來源:轉載
供稿:網友
java從零開始學四十六(Junit)一、軟件測試

軟件開發:

項目調研--需求分析--軟件設計--程序編碼--軟件測試--運行維護

軟件測試:利用測試工具按照測試方案和流程對產品進行功能和性能測試,使用人工或者自動手段來運行或測試某個系統的過程。目的在于檢驗是否滿足規定的需求,確認預期結果與實際結果之間的差別。

墨盒測試-白盒測試-回歸測試-單元測試

二、JUnit-單元測試工具

三、測試Junit測試類

創建被測試類
package com.pb.junit;/** *1.創建被測試類 *2.Junit 3.0或者4.0 這里有3.0 *3.創建測試類 *簡單實現加,減,乖,除的計算器 */public class Calculator {    //運算結果    PRivate static int result;        //加法    public void add(int n){        result+=n;    }    //減法        public void minus(int n){            result-=n;        }        //乖法        public void mult(int n){            //result*=n;        }        //除法        public void div(int n){            if(n==0){                System.out.println("除數不能為0!");            }else{                result/=n;            }        }        //開方 :死循環        public void sqr(){            for(;;){                            }        }                //平方        public void square(int n){            result=n*n;                    }        //清零運算結果        public void clear(){            result=0;        }                        public  int getResult() {            return result;        }        public  void setResult(int result) {            Calculator.result = result;        }        }
使用JUnit3測試
package com.pb.junit;import junit.framework.Assert;import junit.framework.TestCase;public class CalculatorTest extends TestCase {    //創建測試類對象    Calculator calculator=new Calculator();    //測試啟動前運行的方法    protected void setUp() throws Exception {        super.setUp();        calculator.clear();        System.out.println("測試前");    }    //測試結束后運行的方法    protected void tearDown() throws Exception {        super.tearDown();        System.out.println("測試后");    }    //JUnit3中測試方法必須以test開頭    public void testAdd() {        calculator.add(2);        calculator.add(3);  //2+3結果為5                int result=calculator.getResult();        Assert.assertEquals(5, result);    }    public void testMinus() {        calculator.minus(1);        calculator.minus(5);//期望結果為-6        int result=calculator.getResult();        Assert.assertEquals(-6, result);    }    public void testMult() {        calculator.mult(3);        calculator.mult(4);        int result=calculator.getResult();        Assert.assertEquals(12, result);    }    public void testDiv() {        calculator.div(8);        calculator.div(0);        int result=calculator.getResult();        Assert.assertEquals(4 ,result);    }    }
使用JUnit4

package com.pb.junit;import static org.junit.Assert.*;import org.junit.After;import org.junit.AfterClass;import org.junit.Before;import org.junit.BeforeClass;import org.junit.Ignore;import org.junit.Test;public class CalculatorTest {    Calculator calculator=new Calculator();    @BeforeClass    public static void setUpBeforeClass() throws Exception {        System.out.println("============所有測試之前執行一次");    }    @AfterClass    public static void tearDownAfterClass() throws Exception {        System.out.println("所有測試之后執行一次==========");    }    @Before    public void setUp() throws Exception {        System.out.println("==========每個測試之前執行一次");        calculator.clear();    }    @After    public void tearDown() throws Exception {        System.out.println("每個測試之后執行一次=============");    }    //@Test 是必須的,測試方法可以不用以test開頭,必須為public ,沒有返回必須為void    @Test    public void testAdd() {        calculator.add(3);        calculator.add(2);        int result = calculator.getResult();        assertEquals(5, result);    }    //忽略這個測試方法    @Ignore    @Test    public void testMinus() {        fail("Not yet implemented");    }            @Test    public void testMult() {        fail("Not yet implemented");    }    //拋出預定義的異常    @Test(expected=ArithmeticException.class)    public void testDiv() throws ArithmeticException {        calculator.add(8);        calculator.div(0);        int result=calculator.getResult();        assertEquals(0, result);    }    @Test(timeout=5000) //超過5秒,算測試失敗    public void testSqr() {        calculator.sqr();        fail("Not yet implemented");    }    @Test    public void testSquare() {        fail("Not yet implemented");    }}
測試套件

package com.pb.junit;import org.junit.runner.RunWith;import org.junit.runners.Suite;import org.junit.runners.Suite.SuiteClasses;@RunWith(Suite.class)@SuiteClasses({    //測試用例類的名稱    Calculator1Test.class,    Calculator2Test.class,    CalculatorTest.class    })public class TotalTest {        }


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 黔东| 兴安县| 乐东| 同德县| 麻江县| 蒙山县| 同仁县| 岳普湖县| 江陵县| 仙居县| 东丽区| 城市| 东宁县| 崇仁县| 姚安县| 郁南县| 冕宁县| 米林县| 黑山县| 吉木乃县| 义乌市| 淄博市| 北票市| 肇庆市| 讷河市| 安陆市| 化州市| 合肥市| 文安县| 湖南省| 和政县| 南澳县| 新绛县| 习水县| 黎平县| 甘泉县| 大理市| 南平市| 舟曲县| 阜阳市| 隆林|