Re: [請益] 測試程式問題

作者: VFCanisLupus (CanisLupus)   2019-07-15 09:48:14
懂你的意思,假如說redis mongodb 那些並沒有單元測試的模組或套件(我還沒花時間找先
假設),那可以用docker的方式進行。
那這樣是不是違反了單元測試的F.I.R.S.T 要點的 F與I ??
微服務用的是Spring Cloud,照上面前輩這樣子做的話我做單元測試要用docker 架redis r
abbitmq MySQL mongodb (可能服務發現也要啟動起來), 這樣每次測試應該是沒辦法2秒
內執行完了。
期間只要有任何一部分沒成功啟動或者連線失敗都回造成測試失敗。
後寫測試T要點應該早就違反了,先不討論
作者: jack0204 (Jarbar王朝)   2019-07-15 09:54:00
你單元測試時還想測redis跟DB就已經違反了
作者: tofuflower (無)   2019-07-15 10:05:00
和 DB 互動的底層測試我不知道有更好的做法但至少開發商務層的時候我不需要跑 dao 的 unit test另外我在寫 dao 層的時候不會讓服務發現混進去dao 就關心和 dao 的互動更正,dao 層只關心和 DB 的互動
作者: Hevak (Arthow Eshes)   2019-07-15 12:46:00
測試沒真的太慢的話強烈建議不要mock DB,就慢兩秒給他起來,那一點點毛時間不會影響生產力,mock造成的誤差事後要追都會追到哭出來有跑有效的測試比跑符合基礎教義的測試重要

Links booklink

Contact Us: admin [ a t ] ucptt.com