推 windclara: 想問若是前端的話,該怎麼TDD較適合呢?觀念都理解, 08/24 22:24
→ windclara: 但在前端常常寫一寫又拆出子組件… 08/24 22:24
→ HZYSoft: 抱歉這個我無法回答,我自身經驗也不夠 XD 08/24 22:27
→ HZYSoft: 雖然我能理解也算認同TDD的理念,但也沒辦法真的掌握它 08/24 22:27
→ HZYSoft: 應該不少人覺得實行起來困難,所以批評聲浪也沒停過 08/24 22:28
推 linnom: 笑死 “Sent from PCMan on PCMan's PC” 08/24 22:31
推 shibin: 推,最近寫UT也是很苦手,很高興可以看到此類討論 08/24 22:36
推 iankingh: 推 08/24 22:57
推 wulouise: 越靠ui的通常越難寫寫UT...至於規格不明確的確是不該怪T 08/24 23:31
→ wulouise: DD, 只是不明確的時候應該先弄清楚再來寫XD 08/24 23:31
推 holebro: 好想進去有走TDD的公司 感覺好讚 08/24 23:36
推 wulouise: 說真的有unit test就很好了,100%TDD執行面有困難 08/24 23:52
推 viper9709: 原來是這樣~感謝分享 08/25 00:16
→ sevenHEAD: 前端大概或許用testing-library那種測法,內部你怎麼 08/25 01:28
→ sevenHEAD: 拆不管 08/25 01:28
→ foreverk: 同意TDD是讓問題提早浮現,尤其edge case可能是使用到 08/25 08:53
→ foreverk: 其他api時才會發現的,不過通常需求會一環扣一環,團隊 08/25 08:53
→ foreverk: 其他人可能寧願你先寫個可以跑的東西讓他可以接下去, 08/25 08:53
→ foreverk: 而不是等到TDD流程都走完,要求團隊都有單元測試都有點 08/25 08:53
→ foreverk: 難了,還要大家都TDD實在無法想像XD 08/25 08:53
→ Wishmaster: 單元測試不是放在重點服務及重點功能上嗎? 08/25 11:12
→ Wishmaster: 真的有公司所有的程式都寫UT嗎? 實務可能嗎? 08/25 11:12
推 vi000246: TDD很難的原因有可能是需要重構到很精簡沒有相依 08/25 11:29
→ vi000246: 才能寫出有效的測試 在開發階段寫UT就沒什麼時間了 08/25 11:30
→ vi000246: 更何況要重構 以及擔負重構衍生出的問題責任 08/25 11:30
推 superpai: 你寫的任何程式不測試怎麼知道對不對,你把寫console lo 08/25 11:43
→ superpai: g跟用眼睛看結果的時間拿去寫 unit test就好了 08/25 11:43
→ DrTech: 一般真正能落實的公司,就是考管理政策推動。線上出現Bug 08/25 12:32
→ DrTech: ,不同等級,對於考績的影響是什麼,導致Unit Test,cover 08/25 12:32
→ DrTech: age,增量覆蓋率,都有規範,避免出大錯。有了管理與考績 08/25 12:32
→ DrTech: 支持,TDD就變成增加效率的優勢了。 08/25 12:32
→ DrTech: 沒靠管理支撐品質,人都說有惰性的,絕對不覺得TDD多重要 08/25 12:33
→ DrTech: 。 08/25 12:33
推 art1: 結果是一張圖的時候應該沒辦法很難測吧 08/25 15:50
→ art1: *應該很難測 08/25 15:50
推 testPtt: 面對隨時有隕石會砸下來的情況下TDD有用嗎? 08/25 16:00
推 lovdkkkk: 其實越常變化或擴展測試的用處越大,不過跟 TDD 較無關 08/25 16:18
→ lovdkkkk: 有寫就有用,不一定要 "先" 寫 08/25 16:18
推 CRPKT: TDD 可以提早驗證 API 的使用性有沒有缺陷 08/25 16:46
→ CRPKT: 但並不是 API 漂亮就不會在架構上遇到問題 08/25 16:46
→ CRPKT: 有時候兩邊都要顧一下會比較平衡 08/25 16:47
推 henry4343: 好奇真的有辦法先寫好unit test在開始寫程式嗎? 08/25 21:05
→ henry4343: 很多unit test都是在assert function 沒function的話 08/25 21:05
→ henry4343: 沒function的話要怎麼compile過呀 還是是說function先 08/25 21:06
→ henry4343: 宣告但內容不寫 然後先寫測試這樣嗎? 08/25 21:06
→ HZYSoft: 極端一點沒 function 直接寫測試也可以,要確定他會 fail 08/25 21:11
→ HZYSoft: 當程式有 #ifdef 的時候確實可能有些 code 根本沒 build 08/25 21:11
→ HZYSoft: 所以從頭到尾測試根本沒 build 到,先確定會 fail 有幫助 08/25 21:12
→ HZYSoft: 或是像 python,沒定義 function 也能跑 runtime 才失敗 08/25 21:13
→ HZYSoft: 這種也可以先跑看看確定他會 fail,確認 test 真的有執行 08/25 21:13
→ HZYSoft: 我自己真的有遇過 test function 沒跑到,結果假性 pass 08/25 21:13
→ HZYSoft: 原因是我把 function name test_xxx 拼錯成 tset_xxx 08/25 21:14
→ HZYSoft: 於是 python 的 unit test 沒抓到這個 test function 08/25 21:14
→ HZYSoft: 怎麼跑都 pass,因為根本就沒測到。所以不要覺得這很多餘 08/25 21:14
→ HZYSoft: 或是先寫個空的 function,跑看看確認他真的會 fail 08/25 21:15
→ HZYSoft: 這算是 TDD 一個重要的觀念 08/25 21:15
推 wulouise: 真的要先fail才有辦法確定他是有用的XD 08/25 21:24
→ wulouise: 我有遇到test永遠是對的 裡面對不對根本不知道 08/25 21:25
→ wulouise: 還有根本不存在資料被判斷存在,因為跟其他資料重複XDD 08/25 21:25
推 mmonkeyboyy: 你有規格書就能先寫啊 沒有就只能邊做邊摸索 08/26 04:33
推 CYHyen: 其實想起來也沒那麼邪,就像刷題,也是test先寫好等你 08/26 09:46
推 zebraseven: 好 08/26 12:44
推 SHANGOYANYI: TDD難在要想出各種案例XD 08/26 21:11
→ bnd0327: TDD在做自己私人專案的時候比較好用,因為自己寫的本來就 08/30 14:38
→ bnd0327: 比較隨興,用TDD方法一步一步做比較不會放飛自我 08/30 14:40
推 akira01: 個人的經驗,一堆人在等你的code才能繼續下去,一個禮拜過 09/02 07:20
→ akira01: 去了,這時只說我由於用tdd只完成了測試程式,會遭人白眼, 09/02 07:20
→ akira01: 所以通常我們還是會先完成功能再補測試程式 09/02 07:20
推 superpai: tdd是測試跟實作交替寫,會說測試先寫完就是做錯了 09/02 07:35
→ HZYSoft: 測試先寫是針對要改動的地方,不是整個系統都只先寫測試 09/02 21:47
→ HZYSoft: 實務上確實是交替進行沒錯 09/02 21:47
→ longlongint: TDD不會升遷啦,寫爛code升遷學弟接手讚讚(反串) 09/11 20:49
推 jackhsien: 個人經驗TDD 適合需求明確的開發 不然光改測資就耗掉一 09/16 10:44
→ jackhsien: 堆時間 09/16 10:44