看板 Soft_Job 關於我們 聯絡資訊
懂你的意思,假如說redis mongodb 那些並沒有單元測試的模組或套件(我還沒花時間找先 假設),那可以用docker的方式進行。 那這樣是不是違反了單元測試的F.I.R.S.T 要點的 F與I ?? 微服務用的是Spring Cloud,照上面前輩這樣子做的話我做單元測試要用docker 架redis r abbitmq MySQL mongodb (可能服務發現也要啟動起來), 這樣每次測試應該是沒辦法2秒 內執行完了。 期間只要有任何一部分沒成功啟動或者連線失敗都回造成測試失敗。 後寫測試T要點應該早就違反了,先不討論 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 27.242.203.105 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1563155296.A.3B0.html
jack0204: 你單元測試時還想測redis跟DB就已經違反了07/15 09:54
是的
tofuflower: 和 DB 互動的底層測試我不知道有更好的做法07/15 10:05
tofuflower: 但至少開發商務層的時候我不需要跑 dao 的 unit test07/15 10:06
tofuflower: 另外我在寫 dao 層的時候不會讓服務發現混進去07/15 10:07
tofuflower: dao 就關心和 dao 的互動07/15 10:07
tofuflower: 更正,dao 層只關心和 DB 的互動07/15 10:07
好的 十分感謝您 ※ 編輯: VFCanisLupus (27.242.203.105 臺灣), 07/15/2019 10:20:26 ※ 編輯: VFCanisLupus (27.242.203.105 臺灣), 07/15/2019 10:26:13
Hevak: 測試沒真的太慢的話強烈建議不要mock DB,就慢兩秒給他起來 07/15 12:46
Hevak: ,那一點點毛時間不會影響生產力,mock造成的誤差事後要追 07/15 12:47
Hevak: 都會追到哭出來 07/15 12:47
Hevak: 有跑有效的測試比跑符合基礎教義的測試重要 07/15 12:47