⑥Junit斷言簡介:(都繼承自Assert超類)
|- assertEquals(a, b)
Asserts that two primitive values are equal.
測試a是否等于b(a和b是原始類型數(shù)值(primitive value)或者必須為實現(xiàn)比較而具有equal方法)
|- assertFalse(a)
Asserts that a condition (a) is false.
測試a是否為false(假),a是一個Boolean數(shù)值。
|- assertTrue(a)
Asserts that a condition is true.
測試a是否為true(真),a是一個Boolean數(shù)值
|- assertNotNull(a)
Asserts that an object isn't null.
測試a是否非空,a是一個對象或者null。
|- assertNull(a)
Asserts that an object is null.
測試a是否為null,a是一個對象或者null。
|- assertNotSame(a, b)
Asserts that two objects do not refer to the same object.
測試a和b是否沒有都引用同一個對象。
|- assertSame(a, b)
Asserts that two objects refer to the same object.
測試a和b是否都引用同一個對象。
|- fail(message)
當程序錯誤時候,輸出錯誤消息
|-自定義斷言
通常而言,JUnit所提供的標準斷言對大多數(shù)測試已經(jīng)足夠了。然而,在某些環(huán)境下,我們可能更需要自定義一些斷言來滿足我們的需要。
通常的做法是定義一個TestCase的子類,并且使用這個子類來滿足所有的測試。新定義的共享的斷言或者公共代碼放到這個子類中。
⑦ Junit佳實踐:
|- 一次只有一個測試對象:(當無法預計這些對象發(fā)生改變時不會造成相互影響)
|- 選擇有一個的測試方法名:testXxx命名模式(Xxx為待測方法)。若在同一個方法增添其他測試testXxxYyy的命名模式
|- Assert調用總解釋失敗原因。第一個參數(shù)務必為描述文本
|- setUp方法用來實例化DefaultController. Junit會在調用其他之前調用
|- 一個單元測試等于一個測試方法(簡介、專注)
|- 測試任何可能失敗的事務
|- 讓測試改善代碼
編寫單元測試常常有助有你寫出更好的代碼。理由很簡單:test case是你代碼的用戶只有在使用代碼時才能發(fā)現(xiàn)代碼的缺點。所以,不要猶豫,應當根據(jù)測試時發(fā)現(xiàn)的不使之處重構代碼,使其易于使用。測試驅動開發(fā)(TDD)的實踐依賴于這條原則。通過先編寫測試,你可以從黛米用戶的角度來開發(fā)你的類。
|- 讓異常測試易懂。把case塊中異常變量命名為expected
|- 同一個包,分離目錄
3.軟件測試類型分為四類:(集成測試、功能測試、壓力/負荷測試、驗收測試)