Junit4測試

Paste_Image.png

public class CalculateTest {

    /*
     * 1.測試方法上必須使用@Test進行修飾
     * 2.測試方法必須使用public void 進行修飾炬守,不能帶任何的參數(shù)
     * 3.新建一個源代碼目錄來存放我們的測試代碼
     * 4.測試類的包應(yīng)該和被測試類保持一致
     * 5.測試單元中的每個方法必須可以獨立測試能庆,測試方法間不能有任何的依賴
     * 6.測試類使用Test作為類名的后綴(不是必須)
     * 7.測試方法使用test作為方法名的前綴(不是必須)
     */
    @Test
    public void testAdd() {
        assertEquals(6, new Calculate().add(3,3));
    }
    
    @Test
    public void testSubtract() {
        assertEquals(3, new Calculate().subtract(5,2));
    }
    
    @Test
    public void testMultiply() {
        assertEquals(4, new Calculate().multiply(2, 2));
    }
    
    @Test
    public void testDivide() {
        assertEquals(3, new Calculate().divide(6, 2));
    }
}

====================================

public class JunitFlowTest {

    /*
     * 1.@BeforeClass修飾的方法會在所有方法被調(diào)用前被執(zhí)行兽狭,
     * 而且該方法是靜態(tài)的,所以當測試類被加載后接著就會運行它头岔,
     * 而且在內(nèi)存中它只會存在一份實例,它比較適合加載配置文件烁涌。
     * 2.@AfterClass所修飾的方法通常用來對資源的清理手形,如關(guān)閉數(shù)據(jù)庫的連接
     * 3.@Before和@After會在每個測試方法的前后各執(zhí)行一次。
     * 
     */
    @BeforeClass
    public static void setUpBeforeClass() throws Exception {
        System.out.println("this is beforeClass...");
    }

    @AfterClass
    public static void tearDownAfterClass() throws Exception {
        System.out.println("this is afterClass...");
    }

    @Before
    public void setUp() throws Exception {
        System.out.println("this is before...");
    }

    @After
    public void tearDown() throws Exception {
        System.out.println("this is after");
    }

    @Test
    public void test1() {
        System.out.println("this is test1...");
    }
    
    @Test
    public void test2(){
        System.out.println("this is test2...");
    }

====================================



public class ErrorAndFailureTest {
    /*
     * 1.Failure一般由單元測試使用的斷言方法判斷失敗所引起的稠集,這經(jīng)表示 測試點發(fā)現(xiàn)了問題
     * 奶段,就是說程序輸出的結(jié)果和我們預(yù)期的不一樣。
     * 2.error是由代碼異常引起的剥纷,它可以產(chǎn)生于測試代碼本身的錯誤痹籍,也可以是被測試代碼中的
     * 一個隱藏的bug
     * 3.測試用例不是用來證明你是對的,而是用來證明你沒有錯晦鞋。
     */
    @Test
    public void testAdd() {
        assertEquals(5, new Calculate().add(3,3));
    }

    @Test
    public void testDivide() {
        assertEquals(3, new Calculate().divide(6, 0));
    }
}



===============================================

public class AnotationTest {

    /*
     * @Test:將一個普通的方法修飾成為一個測試方法
     *      @Test(expected=XX.class)
     *      @Test(timeout=毫秒 )
     * @BeforeClass:它會在所有的方法運行前被執(zhí)行蹲缠,static修飾
     * @AfterClass:它會在所有的方法運行結(jié)束后被執(zhí)行,static修飾
     * @Before:會在每一個測試方法被運行前執(zhí)行一次
     * @After:會在每一個測試方法運行后被執(zhí)行一次
     * @Ignore:所修飾的測試方法會被測試運行器忽略
     * @RunWith:可以更改測試運行器 org.junit.runner.Runner
     */
    
    @Test(expected=ArithmeticException.class)
    public void testDivide() {
        assertEquals(3, new Calculate().divide(6, 0));
    }
    
    @Ignore("...")
    @Test(timeout=2000)
    public void testWhile() {
        while(true) {
            System.out.println("run forever...");
        }
    }
    
    @Test(timeout=3000)
    public void testReadFile(){
        try {
            Thread.sleep(2000);
        } catch (InterruptedException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
}





========================================
@RunWith(Suite.class)
@Suite.SuiteClasses({TaskTest1.class,TaskTest2.class,TaskTest3.class})
public class SuiteTest {
    /*
     * 1.測試套件就是組織測試類一起運行的
     * 
     * 寫一個作為測試套件的入口類悠垛,這個類里不包含其他的方法
     * 更改測試運行器Suite.class
     * 將要測試的類作為數(shù)組傳入到Suite.SuiteClasses({})
     */

}


=====================================

@RunWith(Parameterized.class)
public class ParameterTest {
    /*
     * 1.更改默認的測試運行器為RunWith(Parameterized.class)
     * 2.聲明變量來存放預(yù)期值 和結(jié)果值
     * 3.聲明一個返回值 為Collection的公共靜態(tài)方法线定,并使用@Parameters進行修飾
     * 4.為測試類聲明一個帶有參數(shù)的公共構(gòu)造函數(shù),并在其中為之聲明變量賦值
     */
    int expected =0;
    int input1 = 0;
    int input2 = 0;
    
    @Parameters
    public static Collection<Object[]> t() {
        return Arrays.asList(new Object[][]{
                {3,1,2},
                {4,2,2}
        }) ;
    }
    
    public ParameterTest(int expected,int input1,int input2) {
        this.expected = expected;
        this.input1 = input1;
        this.input2 = input2;
    }
    
    @Test
    public void testAdd() {
        assertEquals(expected, new Calculate().add(input1, input2));
    }

}





最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末确买,一起剝皮案震驚了整個濱河市斤讥,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌湾趾,老刑警劉巖芭商,帶你破解...
    沈念sama閱讀 211,561評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異搀缠,居然都是意外死亡铛楣,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,218評論 3 385
  • 文/潘曉璐 我一進店門胡嘿,熙熙樓的掌柜王于貴愁眉苦臉地迎上來蛉艾,“玉大人,你說我怎么就攤上這事∥鸷睿” “怎么了拓瞪?”我有些...
    開封第一講書人閱讀 157,162評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長助琐。 經(jīng)常有香客問我祭埂,道長,這世上最難降的妖魔是什么兵钮? 我笑而不...
    開封第一講書人閱讀 56,470評論 1 283
  • 正文 為了忘掉前任蛆橡,我火速辦了婚禮,結(jié)果婚禮上掘譬,老公的妹妹穿的比我還像新娘泰演。我一直安慰自己,他們只是感情好葱轩,可當我...
    茶點故事閱讀 65,550評論 6 385
  • 文/花漫 我一把揭開白布睦焕。 她就那樣靜靜地躺著,像睡著了一般靴拱。 火紅的嫁衣襯著肌膚如雪垃喊。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,806評論 1 290
  • 那天袜炕,我揣著相機與錄音本谜,去河邊找鬼。 笑死偎窘,一個胖子當著我的面吹牛乌助,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播评架,決...
    沈念sama閱讀 38,951評論 3 407
  • 文/蒼蘭香墨 我猛地睜開眼眷茁,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了纵诞?” 一聲冷哼從身側(cè)響起上祈,我...
    開封第一講書人閱讀 37,712評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎浙芙,沒想到半個月后登刺,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,166評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡嗡呼,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,510評論 2 327
  • 正文 我和宋清朗相戀三年纸俭,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片南窗。...
    茶點故事閱讀 38,643評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡揍很,死狀恐怖郎楼,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情窒悔,我是刑警寧澤呜袁,帶...
    沈念sama閱讀 34,306評論 4 330
  • 正文 年R本政府宣布,位于F島的核電站简珠,受9級特大地震影響阶界,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜聋庵,卻給世界環(huán)境...
    茶點故事閱讀 39,930評論 3 313
  • 文/蒙蒙 一膘融、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧祭玉,春花似錦氧映、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,745評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至蹭劈,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間线召,已是汗流浹背铺韧。 一陣腳步聲響...
    開封第一講書人閱讀 31,983評論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留缓淹,地道東北人哈打。 一個月前我還...
    沈念sama閱讀 46,351評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像讯壶,于是被迫代替她去往敵國和親料仗。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,509評論 2 348

推薦閱讀更多精彩內(nèi)容