Junit5 教學
https://medium.com/bucketing/java-test-1-%E5%96%AE%E5%85%83%E6%B8%AC%E8%A9%A6%E6%A6%82%E5%BF%B5%E7%AF%87-unit-test-c9c398c27d39
public void testMethodNameReturnWhat()
{
//Arrange
//Act
//Assert
}
在談到模擬時,你只需關心三樣東西:設定測試資料,設定預期結果,驗證結果。
https://www.itread01.com/p/1320794.html
Mockito 框架
Mockito 是一個基於MIT協議的開源java測試框架。
Mockito區別於其他模擬框架的地方主要是允許開發者在沒有建立“預期”時驗證被測系統的行為。對mock物件的一個批評是測試程式碼與被測系統高度耦合,由於Mockito試圖通過移除“期望規範”來去除expect-run-verify模式(期望--執行--驗證模式),因此使耦合度降低到最低。這樣的突出特性簡化了測試程式碼,使它更容易閱讀和修改了。
- assertEquals() 如果比較的兩個物件是相等的,此方法將正常返回;否則失敗顯示在JUnit的視窗測試將中止。
- assertSame() 和 assertNotSame() 方法測試兩個物件參照指向完全相同的物件。
- assertNull() 和 assertNotNull() 方法測試一個變數是否為空或不為空(null)。
- assertTrue() 和 assertFalse() 方法測試if條件或變數是true還是false。
- assertArrayEquals() 將比較兩個陣列,如果它們相等,則該方法將繼續進行不會發出錯誤。否則失敗將顯示在JUnit視窗和中止測試。
JUnit mokito mock
https://matthung0807.blogspot.com/2018/08/mockito-mockspy.html
http://tw.gitbook.net/junit/eclise-junit-simple-demo.html
VV https://openhome.cc/Gossip/JUnit/MockObject.html
public class BookmarkServiceTest {
@Test
public void testAdd() {
BookmarkDAO mockDAO = new MockDAO();
Bookmark bookmark1 =
new Bookmark("testURL1", "testTitle1", "testCategory1");
Bookmark bookmark2 =
new Bookmark("testURL2", "testTitle2", "testCategory2");
mockDAO.add(new Bookmark("testURL1", "testTitle1", "testCategory1"));
BookmarkService service = new BookmarkService(mockDAO);
service.add(bookmark1);
assertEquals(1, mockDAO.get().size());
service.add(bookmark2);
assertEquals(2, mockDAO.get().size());
assertEquals(bookmark2, mockDAO.get().get(1));
}
}
https://www.itread01.com/articles/1476125762.html
https://www.tpisoftware.com/tpu/articleDetails/1294https://ithelp.ithome.com.tw/articles/10195735
- Mock必須提供與被替換的相依介面或類別一樣的API。
- 可以制定調用Mock的方法回傳的值、物件、或錯誤。
- 而每一次調用Mock方法時,都會依照制定回傳。
- Mock必須提供方法來驗證待測系統與Mock之間的互動
留言
張貼留言