[問題] mock註解和autowired

看板java作者 (阿龍)時間2年前 (2022/04/22 17:08), 2年前編輯推噓0(0017)
留言17則, 3人參與, 2年前最新討論串1/1
在使用@springboottest的時候 都會在方法名稱上宣告 @Test註解我知道 但我的問題是 如果今天想要測試service A service A依賴 dao A好了 在使用了autowired註解之後 就只需要autowired service a 但很多網路上的範例 都會使用mock註解 https://i.imgur.com/JRvTssf.jpg
這樣不是比autowired麻煩許多嗎? 就我的理解,這樣需要自己去注入 這樣的優勢是啥 https://i.imgur.com/mcR4Ts0.jpg
我有找到一個答案 但是看不太懂 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.241.61.70 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/java/M.1650618528.A.A56.html ※ 編輯: ntpuisbest (111.241.61.70 臺灣), 04/22/2022 17:13:18

04/22 17:39, 2年前 , 1F
請 1. 先搞懂何謂(測試裡的) mocking
04/22 17:39, 1F

04/22 17:40, 2年前 , 2F
2. 去看 mockito 的 @Mock 是在幹嘛的
04/22 17:40, 2F

04/22 18:38, 2年前 , 3F

04/22 18:38, 2年前 , 4F
t-mockito/
04/22 18:38, 4F

04/22 18:40, 2年前 , 5F

04/22 18:40, 2年前 , 6F

04/22 18:41, 2年前 , 7F
我好像懂了,簡單說就是萬一依賴的Bean還沒有做出來
04/22 18:41, 7F

04/22 18:41, 2年前 , 8F
時的替代品
04/22 18:41, 8F

04/23 07:51, 2年前 , 9F
不完全是,上面這圖的說法我覺得是錯的,那是較少數的情況
04/23 07:51, 9F

04/23 07:52, 2年前 , 10F
如果依賴一樣是你要寫的,那你幹麻不寫完再測? → 因為你只
04/23 07:52, 10F

04/23 07:52, 2年前 , 11F
要測想測的這個Class,沒有要測依賴的其他Class,這種情況
04/23 07:52, 11F

04/23 07:53, 2年前 , 12F
mock真正的意義是在限制測試範圍,這叫單元測試
04/23 07:53, 12F

04/23 07:55, 2年前 , 13F
如果依賴不是你負責的是在別的模組,不管是還沒寫好還是沒
04/23 07:55, 13F

04/23 07:55, 2年前 , 14F
提供,這種情況用mock還是在限制測試範圍在你自己的模組內
04/23 07:55, 14F

04/23 07:58, 2年前 , 15F
在所有東西都要寫好一起測的整合測試,才有可能出現"暫時"
04/23 07:58, 15F

04/23 07:58, 2年前 , 16F
代替沒寫好的東西的mock
04/23 07:58, 16F

04/28 09:23, 2年前 , 17F
謝謝
04/28 09:23, 17F
文章代碼(AID): #1YOd2WfM (java)
文章代碼(AID): #1YOd2WfM (java)