記事へのコメント69

    • 注目コメント
    • 新着コメント
    オーナーコメントを固定しています
    t-wada
    オーナー t-wada QA@ITのサービス終了と共に読めなくなっていたプライベートメソッドのテストに関する議論を、関係する皆様に許可をいただいた上でライセンス CC BY で公開しました

    2020/04/09 リンク

    その他
    youko03
    youko03 “プライベートなメソッドや関数をテストする必要は無いと考えています。プライベートなメソッドは、実装の詳細であるからです。”

    2021/07/15 リンク

    その他
    winterfall
    winterfall "ほとんどのプライベートメソッドはパブリックメソッド経由でテストできるからです。プライベートメソッドは実装の詳細であり、自動テストのターゲットとなる「外部から見た振る舞い」ではありません。"

    2021/05/24 リンク

    その他
    okumuraa1
    okumuraa1 ]

    2021/02/16 リンク

    その他
    nilab
    nilab 「プライベートなメソッドや関数をテストする必要は無い」「プライベートなメソッドは、実装の詳細であるから」「パブリックメソッド経由でプライベートメソッドのテスト」「別クラスのパブリックメソッドとする」

    2020/10/27 リンク

    その他
    juve534
    juve534 privateメソッドにテストを書くことがあるので、それはなにか間違っているんだろうとは思っていた

    2020/10/12 リンク

    その他
    Windymelt
    Windymelt ホワイトボックステストが書きたくなったらそれは設計改善の余地がある症候,ってことかな。実装改善の邪魔になるって書いてあるし。

    2020/06/16 リンク

    その他
    nekorails
    nekorails 何度も読んでる

    2020/05/21 リンク

    その他
    tasshi820
    tasshi820 なるほど

    2020/05/14 リンク

    その他
    digo
    digo たまに書きたい時あるのよね。例えばクラス内に閉じた正規表現とか。

    2020/05/05 リンク

    その他
    diveintounlimit
    diveintounlimit ブラックボックステストはそれでええかも知れんけどねぇ。プライベートもややこしいロジックのメソッドはテスト書いとるよ。パブリックメソッドのテストが死んだらどこで問題起きてるか追いかけるの大変だし。

    2020/04/11 リンク

    その他
    iR3
    iR3 なるほど

    2020/04/11 リンク

    その他
    vanbraam
    vanbraam だいたい納得; 結局テストは契約の一種. 請負契約なら,アウトプットだけが問題で,それをどうやって成し遂げるかは契約の対象外. そこを縛りたくなるのは権限の委譲 or 責務の分解のどちらかが不十分

    2020/04/10 リンク

    その他
    Error401
    Error401 プライベートメソッド内のコードがテスト対象なのは明らか。なので「プライベートメソッドを呼び出すテストを書くか書かないか」という問題設定にするのが正しいと思う。

    2020/04/10 リンク

    その他
    deep_one
    deep_one プライベートなら「モジュール内のテスト」で終わりだろ?/テストを書きたくなるならそれはプライベート指定になってるのがおかしい、は分かる。

    2020/04/10 リンク

    その他
    tuto0621
    tuto0621 “短くまとめると、プライベートなメソッドのテストを書く必要は 無い と考えています。”

    2020/04/10 リンク

    その他
    GlassGrass
    GlassGrass 純粋関数を低レイヤで実装するようなケースだと、保守じゃなく初期開発での正当性担保のためにプライベートでもバシバシテスト書いてる。リファクタリングでテストごと破棄するのもままある

    2020/04/10 リンク

    その他
    kmaebashi
    kmaebashi 単体テストがホワイトボックステストだとするなら、publicかprivateかでテストの有無が変わるのは明らかにおかしいだろ。ややこしいロジックはprivateに隠蔽すべきだが、そこがテストできないなんて。

    2020/04/10 リンク

    その他
    naopr
    naopr 経験上、プライベートメソッドのテストをパブリックメソッドのテストで記述するとテストの意図がわかりにくくなってしまう場合が多いのでプライベートメソッドのテストとして書いてる

    2020/04/09 リンク

    その他
    RYoMa_0923
    RYoMa_0923 ?なんかこのもと記事が書かれた時にはマトモに存在してたか怪しい言語を持ち出してわーわー言うとるのがいるな。

    2020/04/09 リンク

    その他
    kagerou_ts
    kagerou_ts だいたいリフレクション

    2020/04/09 リンク

    その他
    shimarisugi
    shimarisugi オブジェクト指向設計ガイドだと結論は「private methodは作るな」「作ってもテストはするな」「ただしテストすることに意味がある場合は除く」だったな。3つ目は設計ミスだがfixできないときの最終手段。概ね記事の通り

    2020/04/09 リンク

    その他
    masatomo-m
    masatomo-m バグった時に人が死んだりしないシステムで、という前提なら同意

    2020/04/09 リンク

    その他
    ksugimori
    ksugimori テストコードもクライアントコードのひとつなので疎結合であるべき、と思ってるので書かない派。

    2020/04/09 リンク

    その他
    THAL
    THAL あとで読む

    2020/04/09 リンク

    その他
    rryu
    rryu 元の質問はテストドリブンでやっているとプラベートメソッドを実装する時にテストが書きたくなるがどうすればという感じなので回答がちょっと違うような気もする。

    2020/04/09 リンク

    その他
    jaguarsan
    jaguarsan 書捨ててコミットしない派

    2020/04/09 リンク

    その他
    kazkaz03
    kazkaz03 基本的に書かなくて良いと思うけど、「仕方ないけど書かなきゃいけない」ケースがあると言っとかないと、原理主義おじさんが暴れだす

    2020/04/09 リンク

    その他
    ngmy
    ngmy privateメソッドのテストを書きたくなる時ってたいてい責務の配置をミスっていて、設計を見直すと別のクラスのpublicメソッドに落ち着くことが多いよな。と思って読んだら書いてあった。

    2020/04/09 リンク

    その他
    baronhorse
    baronhorse 小さいクラスでやるならこうだよね。複雑すぎるものは外に出したほうがいい

    2020/04/09 リンク

    その他
    aprifield
    aprifield “ンの一つとして「リファクタリングの支えになる」ことが挙げられますが、リファクタリングとは簡単に言うと「外部から見た振る舞いを変えずに内部の実装をきれいにすること」です。外部から見た振る舞いは、多くの

    2020/04/09 リンク

    その他

    注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています

    アプリのスクリーンショット
    いまの話題をアプリでチェック!
    • バナー広告なし
    • ミュート機能あり
    • ダークモード搭載
    アプリをダウンロード

    関連記事

    プライベートメソッドのテストは書かないもの? - t-wadaのブログ

    この文章の背景 この文章はプライベートメソッドのテストを書くべきか否かに関する knsmr さんのご質問...

    ブックマークしたユーザー

    • toracoya2024/03/25 toracoya
    • jagagaj2024/03/11 jagagaj
    • okinaka2024/01/17 okinaka
    • tech-kazuhisa2024/01/15 tech-kazuhisa
    • tk41682023/08/27 tk4168
    • kakku222023/07/20 kakku22
    • techtech05212023/05/13 techtech0521
    • SYM_simu2023/02/07 SYM_simu
    • katsukiniwa2022/12/23 katsukiniwa
    • hono3bono32022/11/23 hono3bono3
    • ING402022/11/19 ING40
    • t2y-19792022/11/04 t2y-1979
    • kou10mo2022/08/14 kou10mo
    • syoukei812022/07/09 syoukei81
    • chiiia122022/04/25 chiiia12
    • inari1112022/03/30 inari111
    • ryoma1232021/10/26 ryoma123
    • makotot-riceball2021/10/04 makotot-riceball
    すべてのユーザーの
    詳細を表示します

    同じサイトの新着

    同じサイトの新着をもっと読む

    いま人気の記事

    いま人気の記事をもっと読む

    いま人気の記事 - テクノロジー

    いま人気の記事 - テクノロジーをもっと読む

    新着記事 - テクノロジー

    新着記事 - テクノロジーをもっと読む

    同時期にブックマークされた記事