エントリーの編集
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
記事へのコメント37件
- 注目コメント
- 新着コメント
masa8aurum
後半(#2)が本番 ・偽陽性があるならプロダクションコードとテストコードが近すぎ、偽陰性があるなら両者が遠すぎる ・いい距離感の単体テストとは、「仕様」を表現しているテスト。コードでなく振る舞いを検証
auto_chan
ただ長い処理をちょんぎっただけのプライヴェートと共通化されたやつだと性質がちが・・・わないか!がはは!好きにやれ!手段問わず分岐は何かしらの"仕様"を表すハズだから網羅通したい通してほしいきもち。
shingo-sasaki-0529
面白い。private のテストを書いた背景と、その結果起こった問題を順序立てて整理できてて良い。結局は外部に公開する「仕様」を担保する以上は公開されてるものを使って検証するのが自然だよねに落ち着くのも妥当。
xlc
PerlやJavaScriptといったprivateがない言語ばかり使っているので、この悩みはない。ファイル内のローカル関数のテストをどうするかはときどき悩む。見えるようにするのも手間がかかるので。
raamen07
大事なのはみんなの人生なのでプロダクトが壊れてビジネスが転けたら大事なものが守れない。守るために必要でテスト書く時間くらいしか無いならテスト書くしか無い。もっと時間あるならコードや設計を直したら良い。
otchy210
Java の話だが、private のテストを書かないのが常に正義なら、@VisibleForTesting なんていうアノテーションを Google が準備したりはしないんだよな。必要な場面はある。
Kil
privateなメソッドは必ず別のpublicなメソッドから呼ばれているわけで。そっちのテストでちゃんと網羅出来ているなら理論上privateメソッドは全てテストされていることになる。カバレッジは100%にこだわるのが愚か。
AmaiSaeta
プロダクトコードとテストコードの距離感は遠すぎても近すぎても駄目。擬陽性・偽陰性テストが増えると。 | 発端の「期間の取れないPHPアプデ」はどうすべきだったんだろ。期間を取れ?それが出来れば苦労しない訳で。
auto_chan
ただ長い処理をちょんぎっただけのプライヴェートと共通化されたやつだと性質がちが・・・わないか!がはは!好きにやれ!手段問わず分岐は何かしらの"仕様"を表すハズだから網羅通したい通してほしいきもち。
turanukimaru
スタブや入出力のあるメソッドとロジックだけのメソッドに分けてそれぞれをテストしろ。問題はPrivateかではなく、入出力とロジックではテスト対象が別のものなのに区別せずにテストしていることだ。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
いまの話題をアプリでチェック!
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
2024/03/11 リンク