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


測試你的equals方法
assertEquals()

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

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

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

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

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

assertFalse()

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


測試一個沒有返回值的方法
1. 創建一個空容器
2. 查詢該容器應該得不到任何項
3. 將對象添加到容器中,并查詢容器
4. 現在容器包含了剛才添加的項


測試構造函數


測試獲取器


測試設置器

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

fixture:在執行一個或者多個測試方法時需要一系列公共資源或者數據,例如測試環境、測試數據等等。

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

類級別

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

異常和時間測試
  expected、timeout

忽略測試方法
  @Ignore

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

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

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

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

測試接口(?)


測試JavaBean


參考資料

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


歡迎大家訪問我的個人網站 萌萌的IT人