Udemy Course Spring JPA 5

Write Unit Test fro deleteById Method

ZONGRU Li
2 min readApr 25, 2019

將DemoApplication內呼叫repository.deleteById註解

在CourseRepositoryTest中加入測試deleteById Method

執行得:

測試結果正常

但其實有個嚴重問題!!

測試"刪資料"這件事

意即真的會造成資料的改變

但我們的目的只是驗證Method是正確無誤而已

所以要恢復資料要再改寫加上@DirtiesContext

加入@DirtiesContext的好處

當我們把前一個Test改為找id為10002L時

測試也會正常,每一個@Test將會獨立而行

因為有改變資料的Method的Method的測試加上@DirtiesContext後

該Method測完就會恢復資料,再去測另一個@Test的Method

驗證如下:

沒有@DirtiesContext時

因為第一個測試id為10002被下面的測試刪了,導至測試失敗

加上@DirtiesContext再跑

測試正常,因為資料再測刪除時測完就又恢復原狀

--

--

ZONGRU Li
ZONGRU Li

Written by ZONGRU Li

2022/11/17 開源部分個人筆記給LINE "Java程式語言討論區"社群,希望能對社群的技術學習做一點點貢獻.(掩面....記得退訂閱!

No responses yet