最佳實踐:單元測試代碼和被測試代碼使用一樣的包,不同的目錄。


測試你的equals方法
assertEquals()

framework將基本類型當作數(shù)值來比較(而不是對象)。

方法的返回值是對象:
1)取回返回值所有可讀的屬性值。
2)創(chuàng)建一個代表期望值的對象。

如果你的對象不是數(shù)值對象,那么就無須去測試它們的相等性。

Mike Bowler
GSBase(http://gsbase.sourceforge.net)
EqualsTester

“RST”原則(反身性、對稱性、傳遞性)

assertFalse()

JUnit-addons(http://junit-addons.sourceforge.net)
EqualsHashCodeTestCase
assertNotEquals()


測試一個沒有返回值的方法
1. 創(chuàng)建一個空容器
2. 查詢該容器應該得不到任何項
3. 將對象添加到容器中,并查詢?nèi)萜?br>4. 現(xiàn)在容器包含了剛才添加的項


測試構(gòu)造函數(shù)


測試獲取器


測試設置器

------------------------------------------------------------------------------------
最佳實踐
:測試任何可能的錯誤。單元測試不是用來證明您是對的,而是為了證明您沒有錯

fixture:在執(zhí)行一個或者多個測試方法時需要一系列公共資源或者數(shù)據(jù),例如測試環(huán)境、測試數(shù)據(jù)等等。

方法級別
1. @Before
2. @After
3. public void

類級別

1. @BeforeClass
2. @AfterClass
3. public static void

異常和時間測試
  expected、timeout

忽略測試方法
  @Ignore

測試運行器
  @RunWith(CustomTestRunner.class)

測試套件:批量運行測試類
1. 創(chuàng)建一個空類(入口)
2. @RunWith、@Suite.SuiteClasses
3. @RunWith(Suite.class)
4. @Suite.SuiteClasses(TestXX.class)
5. public

參數(shù)化測試
1. @RunWith(Parameterized.class)
2. 聲明變量,用于存放期望值和測試所用數(shù)據(jù)
3. @Parameters、public static Collection
4. 聲明一個帶有參數(shù)的公共構(gòu)造函數(shù),為2中聲明的變量賦值
5. 測試

JUnit和Ant
------------------------------------------------------------------------------------

測試接口(?)


測試JavaBean


參考資料

1.
《JUnit Recipes中文版》
2. 單元測試利器 JUnit 4(http://www.ibm.com/developerworks/cn/java/j-lo-junit4/)


歡迎大家訪問我的個人網(wǎng)站 萌萌的IT人