[過去ログ]
カプセル化■プライベートメソッドをテストする方法 (476レス)
カプセル化■プライベートメソッドをテストする方法 http://mevius.5ch.net/test/read.cgi/tech/1593949666/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
1: デフォルトの名無しさん [sage] 2020/07/05(日) 20:47:46.60 ID:M+BkbwUs ■短い回答 プライベートをテストしたい場合は設計に問題があるので、パブリックに変更してテストしましょう ■これに対する(変な人の)驚いた反論 プライベートを一時的にパブリックにして、テストが終わったら プライベートに戻すなんてやるわけないだろw ↑誰もそんなコトしろなんて言ってない ■テスト専門家による回答 t-wadaのブログ https://t-wada.hatenablog.jp/entry/should-we-test-private-methods 短くまとめると、プライベートなメソッドのテストを書く必要は 無い と考えています。 ほとんどのプライベートメソッドはパブリックメソッド経由でテストできるからです。 プライベートメソッドは実装の詳細であり、自動テストのターゲットとなる「外部から見た振る舞い」ではありません。 プライベートなメソッドのテストに関しては、4つの考え方があります。 ・パブリックメソッド経由でテストする ・別クラスのパブリックメソッドとする ・テスト対象の可視性を(やや)上げる ・プライベートのまま、リフレクションでアクセスしてテストを書く パブリックメソッド経由でテストする 多くの場合、そのクラスのパブリックメソッド経由でプライベートメソッドのテストも同時に行えます。テストできているか不安があるならテストカバレッジを確認しましょう。 別クラスのパブリックメソッドとする プライベートなメソッドのテストを書きたいということは、実はテスト対象の責務が多すぎることを示唆している場合があります。 テストがどうしても書きたい場合は、その責務はテスト対象のプライベートな振る舞いではなく、他の誰かのパブリックな振る舞いなのでしょう。 http://mevius.5ch.net/test/read.cgi/tech/1593949666/1
41: デフォルトの名無しさん [sage] 2020/07/05(日) 23:27:01.94 ID:cdjjBT1g スレタイと書いてあることがチグハグで趣旨が解りづらいな。 スレタイに従えば、privateを呼び出したいみたいだが、>>1の発言を見るとprivateの呼び出しは推奨しないように見える。 まぁ、私も推奨しないけど。 という訳で、適当に独り言を語ってみる。 単体テストって、例えば... Queueという名前のクラスがあって、そのクラスの中に Enqueue、Dequeue、Peek、Clearメソッドが定義されていたら、それらメソッドを呼び出して、その結果を予想するコード(テストコード)を書いて実行させる方法がオブジェクト指向プログラマーにとって一般的だと思うけど...その際にprivateメソッド(内部実装)をテストコードから呼び出さないといけない理由がわからん。 http://mevius.5ch.net/test/read.cgi/tech/1593949666/41
57: デフォルトの名無しさん [sage] 2020/07/06(月) 09:07:12.86 ID:aZiq8mUC >>1にはテストとしか書かれていないけど、記事元はユニットテスト(単体テスト)の話だよね? http://mevius.5ch.net/test/read.cgi/tech/1593949666/57
90: デフォルトの名無しさん [sage] 2020/07/07(火) 12:56:17.65 ID:NlNPNtxk カバレッジテストをするかどうかは、ケースバイケース。どちらでもいいとして、一番気にしているのは、そもそも>>1の記事主に批判的な人はオブジェクト指向を理解しているのか?という点。 怪しいというのは、そこね。 http://mevius.5ch.net/test/read.cgi/tech/1593949666/90
205: デフォルトの名無しさん [] 2020/07/10(金) 17:14:49.72 ID:sSLzYC6I >>1 に書いてあるだろ。 http://mevius.5ch.net/test/read.cgi/tech/1593949666/205
206: デフォルトの名無しさん [sage] 2020/07/10(金) 17:42:15.92 ID:A+QDXq04 >>1に書いてあるのはただの常識で 和田メソッドなんて特別な名前じゃないよ http://mevius.5ch.net/test/read.cgi/tech/1593949666/206
376: デフォルトの名無しさん [age] 2020/07/13(月) 01:12:00.86 ID:Lu0QN2xA >>1 がアスペのスレ http://mevius.5ch.net/test/read.cgi/tech/1593949666/376
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.026s