■短い回答
プライベートをテストしたい場合は設計に問題があるので、パブリックに変更してテストしましょう
■これに対する(変な人の)驚いた反論
プライベートを一時的にパブリックにして、テストが終わったら
プライベートに戻すなんてやるわけないだろw
↑誰もそんなコトしろなんて言ってない
■テスト専門家による回答
t-wadaのブログ
https://t-wada.hatenablog.jp/entry/should-we-test-private-methods
短くまとめると、プライベートなメソッドのテストを書く必要は 無い と考えています。
ほとんどのプライベートメソッドはパブリックメソッド経由でテストできるからです。
プライベートメソッドは実装の詳細であり、自動テストのターゲットとなる「外部から見た振る舞い」ではありません。
プライベートなメソッドのテストに関しては、4つの考え方があります。
・パブリックメソッド経由でテストする
・別クラスのパブリックメソッドとする
・テスト対象の可視性を(やや)上げる
・プライベートのまま、リフレクションでアクセスしてテストを書く
パブリックメソッド経由でテストする
多くの場合、そのクラスのパブリックメソッド経由でプライベートメソッドのテストも同時に行えます。テストできているか不安があるならテストカバレッジを確認しましょう。
別クラスのパブリックメソッドとする
プライベートなメソッドのテストを書きたいということは、実はテスト対象の責務が多すぎることを示唆している場合があります。
テストがどうしても書きたい場合は、その責務はテスト対象のプライベートな振る舞いではなく、他の誰かのパブリックな振る舞いなのでしょう。
探検
カプセル化■プライベートメソッドをテストする方法
■ このスレッドは過去ログ倉庫に格納されています
2020/07/05(日) 20:47:46.60ID:M+BkbwUs
107デフォルトの名無しさん
2020/07/07(火) 15:12:43.34ID:zTLocdwC >>105
言いたいことわかってくれるあなたは、PythonとかC#とかC++ですね?
言いたいことわかってくれるあなたは、PythonとかC#とかC++ですね?
108デフォルトの名無しさん
2020/07/07(火) 15:13:07.34ID:YBf2Aagc 自作自演w
105 名前:デフォルトの名無しさん[] 投稿日:2020/07/07(火) 15:11:55.03 ID:zTLocdwC [8/9]
言い張るんだったら、ほんとに和田メソッド被害者の会作っちゃうよ?
会員200万人目指しちゃうよ?
いいの?
107 名前:デフォルトの名無しさん[] 投稿日:2020/07/07(火) 15:12:43.34 ID:zTLocdwC [9/9]
>>105
言いたいことわかってくれるあなたは、PythonとかC#とかC++ですね?
105 名前:デフォルトの名無しさん[] 投稿日:2020/07/07(火) 15:11:55.03 ID:zTLocdwC [8/9]
言い張るんだったら、ほんとに和田メソッド被害者の会作っちゃうよ?
会員200万人目指しちゃうよ?
いいの?
107 名前:デフォルトの名無しさん[] 投稿日:2020/07/07(火) 15:12:43.34 ID:zTLocdwC [9/9]
>>105
言いたいことわかってくれるあなたは、PythonとかC#とかC++ですね?
109デフォルトの名無しさん
2020/07/07(火) 15:13:54.75ID:O+C/kGAG 王家の秘伝メソッド普及委員会を立ち上げよう
111デフォルトの名無しさん
2020/07/07(火) 15:15:25.23ID:YBf2Aagc112デフォルトの名無しさん
2020/07/07(火) 15:15:52.28ID:zTLocdwC Javaは色々研究して提唱してえらいなあと思う部分もあるんだけど、すぐに宗教化してしまうからな。
そこがJava!なんだよな。
そこがJava!なんだよな。
113デフォルトの名無しさん
2020/07/07(火) 15:17:07.58ID:YBf2Aagc どうも都合が悪かったようだな
俺のレスに答えられずひたすら関係ない話を始めた
俺のレスに答えられずひたすら関係ない話を始めた
114デフォルトの名無しさん
2020/07/07(火) 15:18:08.09ID:pnFsfYkB >>108
この自作自演は恥ずかしいなww
この自作自演は恥ずかしいなww
115デフォルトの名無しさん
2020/07/07(火) 15:20:13.83ID:zTLocdwC でも俺が設立するからには、普通じゃダメなんだよ。
俺がやるからには、和田メソッド被害者の会長が和田さん。
ここまでやってこそ本物だと思うんだよね。
まず、和田さんを説き伏せなきゃ。
俺がやるからには、和田メソッド被害者の会長が和田さん。
ここまでやってこそ本物だと思うんだよね。
まず、和田さんを説き伏せなきゃ。
116デフォルトの名無しさん
2020/07/07(火) 15:21:24.14ID:YBf2Aagc いいだしっぺが説き伏せるそうです。
実際に行動を起こせるか見てみましょう
実際に行動を起こせるか見てみましょう
117デフォルトの名無しさん
2020/07/07(火) 15:22:05.58ID:zTLocdwC 和田さん頼むわ。
見てるんやろ?
見てるんやろ?
118デフォルトの名無しさん
2020/07/07(火) 15:22:43.01ID:YBf2Aagc いきなり他人だよりです(笑)
自分から知らせに行く勇気もないようですね
自分から知らせに行く勇気もないようですね
119デフォルトの名無しさん
2020/07/07(火) 15:24:58.29ID:zTLocdwC >>104 をベースに考察していけば良いのでは。
120デフォルトの名無しさん
2020/07/07(火) 15:26:46.74ID:YBf2Aagc ではまずいいだしっぺから
なぜパブリックメソッドにすると
すべての入力の組み合わせをテストしなくてよくなるのか?
C1カバレッジって言葉知ってますかね?
なぜパブリックメソッドにすると
すべての入力の組み合わせをテストしなくてよくなるのか?
C1カバレッジって言葉知ってますかね?
121デフォルトの名無しさん
2020/07/07(火) 15:27:35.56ID:YBf2Aagc 訂正、すべての入力の組み合わせは2カバレッジだった
122デフォルトの名無しさん
2020/07/07(火) 15:27:50.82ID:YBf2Aagc C2カバレッジだった
123デフォルトの名無しさん
2020/07/07(火) 15:39:26.39ID:K/dtFkkl >>87
一般的にはQueueはprivateのメソッドも単純なロジックしか持たないから
public経由のテストで十分な場合が多いかもしれないけど
それがあらゆる状況に当てはまるわけではない
例えばgrowableなring bufferでqueueを実装するとして
バッファを拡大させるロジックに独自の最適化をいろいろと施してるような場合、
各種分岐に応じたメモリコピーの方法だったり、それに応じたメモリの初期化状態の確認だったり
privateなhead/tailポインタへのアクセスだったり、
public経由だけでは確認できないテストをしたほうがいい場合がある
一般的にはQueueはprivateのメソッドも単純なロジックしか持たないから
public経由のテストで十分な場合が多いかもしれないけど
それがあらゆる状況に当てはまるわけではない
例えばgrowableなring bufferでqueueを実装するとして
バッファを拡大させるロジックに独自の最適化をいろいろと施してるような場合、
各種分岐に応じたメモリコピーの方法だったり、それに応じたメモリの初期化状態の確認だったり
privateなhead/tailポインタへのアクセスだったり、
public経由だけでは確認できないテストをしたほうがいい場合がある
124デフォルトの名無しさん
2020/07/07(火) 15:42:28.40ID:YBf2Aagc >>123
訂正
一般的にはQueueはprivateのメソッドも単純なロジックしか持たないから
public経由のテストで十分な場合が多いかもしれないけど
それがあらゆる状況に当てはまるわけではない
もしpublic経由のテストで不十分な場合、それはメソッドの責務が大きいと考えられる
リファクタリングして複数のクラスに分離するのが正しい対応
そうすれば自然publicメソッドとなりテストが可能になる
訂正
一般的にはQueueはprivateのメソッドも単純なロジックしか持たないから
public経由のテストで十分な場合が多いかもしれないけど
それがあらゆる状況に当てはまるわけではない
もしpublic経由のテストで不十分な場合、それはメソッドの責務が大きいと考えられる
リファクタリングして複数のクラスに分離するのが正しい対応
そうすれば自然publicメソッドとなりテストが可能になる
125デフォルトの名無しさん
2020/07/07(火) 15:53:43.14ID:zTLocdwC キミも和田メソッドの被害者なんだよ。
可哀そうに。
和田さん本人だとしても、被害者であることに変わりはないんだよ。
可哀そうに。
和田さん本人だとしても、被害者であることに変わりはないんだよ。
126デフォルトの名無しさん
2020/07/07(火) 15:59:04.01ID:pnFsfYkB あれ、説き伏せるんじゃないの?
127デフォルトの名無しさん
2020/07/07(火) 16:00:23.93ID:zTLocdwC もう和田さんは改心してこっちの味方だから。
128デフォルトの名無しさん
2020/07/07(火) 16:09:18.16ID:bdixmHft ごちゃごちゃうるさい
privateメソッドのテストやれよ
キチガイ
privateメソッドのテストやれよ
キチガイ
129デフォルトの名無しさん
2020/07/07(火) 16:11:54.35ID:cp13iBTj 虚言癖まであるのかな
130デフォルトの名無しさん
2020/07/07(火) 16:15:15.28ID:zTLocdwC 和田メソッド被害者の会、会員募集中。
和田さんも入会して良いんだヨ。
和田さんも入会して良いんだヨ。
131デフォルトの名無しさん
2020/07/07(火) 17:39:48.25ID:O+C/kGAG132デフォルトの名無しさん
2020/07/07(火) 17:43:14.92ID:jam8vymb 可視性狂信者ってのはどうしようもないね。テストさえ犠牲にし始める。
13394
2020/07/07(火) 17:55:40.01ID:k9dX6gDH >>95
今さらだけど、前スレのタイトル(今より酷い)から察せると思うが、あなたの想像を越えるお馬鹿さんがいるから、常識を持つあなたはここから逃げた方がいいよと、お前どっちの味方だよ風に言いたかった。
今さらだけど、前スレのタイトル(今より酷い)から察せると思うが、あなたの想像を越えるお馬鹿さんがいるから、常識を持つあなたはここから逃げた方がいいよと、お前どっちの味方だよ風に言いたかった。
134デフォルトの名無しさん
2020/07/07(火) 18:13:36.60ID:k9dX6gDH って、何でもないです。
(アンカが自分に向いていたと勘違いしてたとか言えねぇ)
(アンカが自分に向いていたと勘違いしてたとか言えねぇ)
135デフォルトの名無しさん
2020/07/07(火) 18:55:11.35ID:B0OaeN7n >>130
むしろ、こんな気違いに絡まれる和田さんカワイソ
むしろ、こんな気違いに絡まれる和田さんカワイソ
136デフォルトの名無しさん
2020/07/07(火) 19:10:49.50ID:BPFgnJg7 結局実際に絡む度胸もないから無害やけどなw
137デフォルトの名無しさん
2020/07/07(火) 19:21:49.86ID:zm6NAQZG138デフォルトの名無しさん
2020/07/07(火) 19:26:55.85ID:bdixmHft >>137
は?いいからprivateメソッドのテストやれよ
は?いいからprivateメソッドのテストやれよ
139デフォルトの名無しさん
2020/07/07(火) 19:27:35.46ID:zm6NAQZG オブジェクト指向を理解している人間の言うprivateをテストせよ/テストするべきではない と、 オブジェクト指向を理解していない人間のprivateをテストせよ/テストするべきでない は論争のレベルが全然違う。
大学生同士の論争と小学生同士の喧嘩くらい違う。
お前はどっちだ?>>138
大学生同士の論争と小学生同士の喧嘩くらい違う。
お前はどっちだ?>>138
140デフォルトの名無しさん
2020/07/07(火) 19:28:44.77ID:bdixmHft141デフォルトの名無しさん
2020/07/07(火) 19:32:38.84ID:bdixmHft ここで話を整理するけど
privateメソッドだからテストしないとか言ってるやつはキチガイ
早く死んでね
privateメソッドだからテストしないとか言ってるやつはキチガイ
早く死んでね
142デフォルトの名無しさん
2020/07/07(火) 19:33:11.12ID:zm6NAQZG 具体例もなく、privateのテストやれと言われてもできねーよ、バーカ。
143デフォルトの名無しさん
2020/07/07(火) 19:35:50.42ID:bdixmHft うんうん
わかってない人もいるみたいだからもう一度ここで仕切り直しさせてほしい
privateメソッドだからテストしないとか言ってるやつはキチガイ
早く死んでね
わかったかな?
わかってない人もいるみたいだからもう一度ここで仕切り直しさせてほしい
privateメソッドだからテストしないとか言ってるやつはキチガイ
早く死んでね
わかったかな?
144デフォルトの名無しさん
2020/07/07(火) 19:36:30.14ID:OvditBd9145デフォルトの名無しさん
2020/07/07(火) 19:37:40.45ID:rZMsiuSb 頭皮に触れるものは全て検査する
彡ミ
↓↓↓
彡 ⌒ ミ
(´・ω・`) 使ってるシャンプー、肌に合ってるかい?
彡ミ
↓↓↓
彡 ⌒ ミ
(´・ω・`) 使ってるシャンプー、肌に合ってるかい?
146デフォルトの名無しさん
2020/07/07(火) 19:44:10.79ID:rZMsiuSb [ケハエール]
彡 ⌒ ミ
(´・ω・`) 確認もせず使うのは馬鹿だ
彡 ⌒ ミ
(´・ω・`) 確認もせず使うのは馬鹿だ
147デフォルトの名無しさん
2020/07/07(火) 22:01:24.32ID:YBf2Aagc148デフォルトの名無しさん
2020/07/07(火) 22:08:08.37ID:O+C/kGAG >>3の下痢便コード書いた人ですよね?
149デフォルトの名無しさん
2020/07/07(火) 22:11:43.28ID:bdixmHft >>147
それテストできてねーからw
publicから t=0のときだけprivateの処理が欲しかったとするじゃん?
そのままじゃpublicは仕様でt=0のときしかそのprivateメソッドを呼ばないんだから
そのpublicからしかテストしないんじゃt≠0のときのテストできねーじゃん
やんねーのかよ?
ある時改修で別のpublicメソッドからt=3のときにprivateメソッドを呼ぶことになったらt=0しかテストやってなかったら
普通は怒り狂うもんだよ
っていうか絶対ブッ殺す
それテストできてねーからw
publicから t=0のときだけprivateの処理が欲しかったとするじゃん?
そのままじゃpublicは仕様でt=0のときしかそのprivateメソッドを呼ばないんだから
そのpublicからしかテストしないんじゃt≠0のときのテストできねーじゃん
やんねーのかよ?
ある時改修で別のpublicメソッドからt=3のときにprivateメソッドを呼ぶことになったらt=0しかテストやってなかったら
普通は怒り狂うもんだよ
っていうか絶対ブッ殺す
150デフォルトの名無しさん
2020/07/07(火) 22:27:58.06ID:YBf2Aagc >>149
> そのままじゃpublicは仕様でt=0のときしかそのprivateメソッドを呼ばないんだから
つまり、publicがt=0のときprivateメソッドを呼ぶんですよね?
publicがt=0のテストをすれば、privateのテストしてるじゃないですかw
> そのままじゃpublicは仕様でt=0のときしかそのprivateメソッドを呼ばないんだから
つまり、publicがt=0のときprivateメソッドを呼ぶんですよね?
publicがt=0のテストをすれば、privateのテストしてるじゃないですかw
151デフォルトの名無しさん
2020/07/07(火) 22:30:06.58ID:YBf2Aagc > ある時改修で別のpublicメソッドからt=3のときにprivateメソッドを呼ぶことになったら
> t=0しかテストやってなかったら
仕様が変わったのならt=3のときのテストを追加しましょう
> t=0しかテストやってなかったら
仕様が変わったのならt=3のときのテストを追加しましょう
152デフォルトの名無しさん
2020/07/07(火) 22:34:14.99ID:YBf2Aagc >>149はホント意味不明だな
最初の仕様・・・t=0のときしかprivateメソッドの処理をしない
t=3のときは?→「privateメソッドの処理をしない」場合の結果が正しい
改修・・・t=3のときにprivateメソッドの処理をすることになった
「privateメソッドの処理をした」場合の結果が以前と異なるという仕様になった
では新しい仕様のテストを書きましょう
これだけなんだがなぁ
前と正しい答えが違うのに、テストを修正しないの?
最初の仕様・・・t=0のときしかprivateメソッドの処理をしない
t=3のときは?→「privateメソッドの処理をしない」場合の結果が正しい
改修・・・t=3のときにprivateメソッドの処理をすることになった
「privateメソッドの処理をした」場合の結果が以前と異なるという仕様になった
では新しい仕様のテストを書きましょう
これだけなんだがなぁ
前と正しい答えが違うのに、テストを修正しないの?
153デフォルトの名無しさん
2020/07/07(火) 22:49:42.87ID:bdixmHft154デフォルトの名無しさん
2020/07/07(火) 22:52:36.96ID:bdixmHft 設計書かコメントに
このメソッドはt=0のときしかテストしていません!
って書いてあるの?
お前のソースって
悪いけど見たことねーや
滅茶苦茶バカだしもういいかな?
レスしなくて
このメソッドはt=0のときしかテストしていません!
って書いてあるの?
お前のソースって
悪いけど見たことねーや
滅茶苦茶バカだしもういいかな?
レスしなくて
155デフォルトの名無しさん
2020/07/07(火) 22:54:46.63ID:YBf2Aagc >>153
だから変わったpublicメソッドをテストしろよ
変わってないならprivateメソッドに何の問題もないだろ
それとも何か?お前すべての取りうる値でテストしろと言ってんのか?
この関数は数値を二倍してくれる関数である。
今まで4を入れてこの関数を呼び出していた。
今度5を入れるようになったから5を入れた場合はどうなるかテストする必要がある
今度は6を、7を、8を・・・って新しい引数で呼び出すために
そのテストが必要なんか?ああん?
だから変わったpublicメソッドをテストしろよ
変わってないならprivateメソッドに何の問題もないだろ
それとも何か?お前すべての取りうる値でテストしろと言ってんのか?
この関数は数値を二倍してくれる関数である。
今まで4を入れてこの関数を呼び出していた。
今度5を入れるようになったから5を入れた場合はどうなるかテストする必要がある
今度は6を、7を、8を・・・って新しい引数で呼び出すために
そのテストが必要なんか?ああん?
156デフォルトの名無しさん
2020/07/07(火) 22:56:07.20ID:YBf2Aagc157デフォルトの名無しさん
2020/07/07(火) 23:00:58.28ID:bdixmHft は?最小-1、最小、中間、最大、最大+1通すだろフツー
158デフォルトの名無しさん
2020/07/07(火) 23:02:33.64ID:bdixmHft だが、お前のやり方ではどうやっても通すことはできないんだよ
こんな簡単なテストすら不可能
早く死ねよ
これがお前の限界なんだよ
こんな簡単なテストすら不可能
早く死ねよ
これがお前の限界なんだよ
159デフォルトの名無しさん
2020/07/07(火) 23:06:04.37ID:bdixmHft っていうかここまで自分の間違いを認めない意味はなんかあるの?
これぜってー仕事でお前の主張が通る現場ねーぞガチで
メソッドにt=0のときしかテストしてませんって書いてあるもの納品するか?
ナメてんじゃねーよ
これぜってー仕事でお前の主張が通る現場ねーぞガチで
メソッドにt=0のときしかテストしてませんって書いてあるもの納品するか?
ナメてんじゃねーよ
160デフォルトの名無しさん
2020/07/07(火) 23:36:58.56ID:YBf2Aagc >>157
> は?最小-1、最小、中間、最大、最大+1通すだろフツー
・t=3のどこが、最小-1、最小、中間、最大、最大+1なんだよw
「今回」新しく仕様が変わって、t=3 などというものが登場したんだろ
なら「今回」テストを追加するだけの話だろ
それとも何か? t=3がいままでprivateを呼ばなかったのに
t=3のテストをお前はするんか?どういった理由で?
> は?最小-1、最小、中間、最大、最大+1通すだろフツー
・t=3のどこが、最小-1、最小、中間、最大、最大+1なんだよw
「今回」新しく仕様が変わって、t=3 などというものが登場したんだろ
なら「今回」テストを追加するだけの話だろ
それとも何か? t=3がいままでprivateを呼ばなかったのに
t=3のテストをお前はするんか?どういった理由で?
161デフォルトの名無しさん
2020/07/07(火) 23:47:24.20ID:zm6NAQZG162デフォルトの名無しさん
2020/07/07(火) 23:56:35.16ID:D1qF8R0D bdixmHftはQueueという言葉とオブジェクト指向という言葉が理解できずに発狂した説
163デフォルトの名無しさん
2020/07/08(水) 00:21:47.63ID:SznGehK7 詳細に関する知識が無ければ検査できないなら、公開メンバを介して検査するのと、非公開メンバを直接検査するのは同じことですよ。
これが理解できないなら、もはや議論の意味が無いでしょう。
そもそも自身が推奨する和田メソッドさえ理解できていないって事ですから。
これが理解できないなら、もはや議論の意味が無いでしょう。
そもそも自身が推奨する和田メソッドさえ理解できていないって事ですから。
164デフォルトの名無しさん
2020/07/08(水) 00:28:23.66ID:SznGehK7 アンクルボブの理論に対する賛否両論から議論を始めるべきなのかもしれない。
165デフォルトの名無しさん
2020/07/08(水) 00:29:51.46ID:kqVG+rMe166デフォルトの名無しさん
2020/07/08(水) 00:35:35.13ID:SznGehK7 和田さんはアンクルボブを理論のベースにしています。
和田理論否定派はアンクルボブ理論を理解したうえで和田理論に異議を述べています。
和田理論信仰者は、そもそもアンクルボブって何?状態です。
だから議論が成り立っていないのです。
和田理論否定派はアンクルボブ理論を理解したうえで和田理論に異議を述べています。
和田理論信仰者は、そもそもアンクルボブって何?状態です。
だから議論が成り立っていないのです。
167デフォルトの名無しさん
2020/07/08(水) 00:42:30.98ID:UPP9MPHB (和田メソッドって何だ?)
168デフォルトの名無しさん
2020/07/08(水) 00:52:01.29ID:SznGehK7 詳細に関する知識を持ってはならないというのが和田理論の根幹です。
private、publicという字面にこだわるのは単なる信仰心にすぎません。
神を信じますか?ハイ信じます。
神を見ましたか?ハイ見ました。
こういうことです。
private、publicという字面にこだわるのは単なる信仰心にすぎません。
神を信じますか?ハイ信じます。
神を見ましたか?ハイ見ました。
こういうことです。
169デフォルトの名無しさん
2020/07/08(水) 00:56:34.00ID:SznGehK7 和田理論を素直に受け入れられるのは、プログラミングとはAPIを呼び出すことであり、決してアルゴリズムを実装することではないからですよ。
つまり、システム利用者がシステム作者に対して小言を言うような状態です。
詳細を検査したら駄目じゃないか!詳細は呼び出せればいいんだよ!
つまり、システム利用者がシステム作者に対して小言を言うような状態です。
詳細を検査したら駄目じゃないか!詳細は呼び出せればいいんだよ!
170デフォルトの名無しさん
2020/07/08(水) 01:27:45.49ID:/rdq0ZOx >>167
「アンチ和田」がかってに命名したもの(笑)
「アンチ和田」がかってに命名したもの(笑)
171デフォルトの名無しさん
2020/07/08(水) 01:28:51.37ID:/rdq0ZOx 「和田理論」も同じな。「アンチ和田」はなにか理由があって
命名しているんだろう。常識的なことを名前をつけることで
特別な方法だと錯覚させる手かな?
命名しているんだろう。常識的なことを名前をつけることで
特別な方法だと錯覚させる手かな?
172デフォルトの名無しさん
2020/07/08(水) 04:10:02.60ID:6ZEX1zcL >>166
ロバート・C ・マーチンのこと?
ロバート・C ・マーチンのこと?
173デフォルトの名無しさん
2020/07/08(水) 04:11:04.99ID:6ZEX1zcL >>169
なるほどな
なるほどな
174デフォルトの名無しさん
2020/07/08(水) 06:13:27.58ID:AplvQTCJ175デフォルトの名無しさん
2020/07/08(水) 08:26:03.95ID:6ZEX1zcL >>174
違いません、困りません
違いません、困りません
176デフォルトの名無しさん
2020/07/08(水) 08:29:40.77ID:6ZEX1zcL アンクルボブをロバートと読み替えても通じますし
僕が納得したところでお前は何も困りません
僕が納得したところでお前は何も困りません
177デフォルトの名無しさん
2020/07/08(水) 08:35:30.95ID:6ZEX1zcL178デフォルトの名無しさん
2020/07/08(水) 09:02:50.79ID:SznGehK7 >>172
ハイそうです。
ハイそうです。
179デフォルトの名無しさん
2020/07/08(水) 12:16:39.34ID:hmU+YLWt 関数が取りうる値で全てでテストしろと言ってるアホがいるスレはここですか?
今回78という値で関数を呼び出すことになった
78という値を与えた時、ちゃんと動くかテストしているかね?
だってさ(笑)
今回78という値で関数を呼び出すことになった
78という値を与えた時、ちゃんと動くかテストしているかね?
だってさ(笑)
180デフォルトの名無しさん
2020/07/08(水) 12:42:10.97ID:PWwZYnOX privateメソッドのテストを具体的にどうやるのか未だに分からん。
そもそも、public経由のメソッド呼び出しで網羅できない巨大privateメソッドの正しい動作なんて定義できるの?
そもそも、public経由のメソッド呼び出しで網羅できない巨大privateメソッドの正しい動作なんて定義できるの?
181デフォルトの名無しさん
2020/07/08(水) 12:54:49.19ID:ODFOiaSP 巨大なメソッド自体が悪じゃね
あとテストってinoutを確認するんじゃないの?
outいっぱいしてたらもうそれ完全害悪じゃね
あとテストってinoutを確認するんじゃないの?
outいっぱいしてたらもうそれ完全害悪じゃね
182デフォルトの名無しさん
2020/07/08(水) 14:27:45.18ID:ZL+NZ9CQ ステートメントの入力により無限通りの構文木が出力されるパーサ?
なんだそれ?
なんだそれ?
183デフォルトの名無しさん
2020/07/08(水) 17:57:24.33ID:pS2ORJtj >>179
最小、最大、中間値ぐらいしか言ってないのにそうやって曲解しないと負けちゃいそうなの?
最小、最大、中間値ぐらいしか言ってないのにそうやって曲解しないと負けちゃいそうなの?
184デフォルトの名無しさん
2020/07/08(水) 18:33:36.38ID:IWyzFdDn そもそも、privateメソッドを定義すること事態、滅多にないよ。
というか、自分のソース見たら無かった。
というか、自分のソース見たら無かった。
185デフォルトの名無しさん
2020/07/08(水) 18:42:33.47ID:IWyzFdDn このスレの過去の発言を見ると誤解を招きそうだから補足するけど、別に内部処理をpublicにしたからprivateは無いという意味じゃないからね?
元からpublicメソッドとprivate変数しかない。
元からpublicメソッドとprivate変数しかない。
186デフォルトの名無しさん
2020/07/08(水) 20:52:09.28ID:Sbr5rKl2187デフォルトの名無しさん
2020/07/08(水) 20:55:55.79ID:hmU+YLWt >>183
↓って書いてますが? 3と78でなにか違いがあるんですか?
> ある時改修で別のpublicメソッドからt=3のときにprivateメソッドを呼ぶことになったら
> t=0しかテストやってなかったら
↓って書いてますが? 3と78でなにか違いがあるんですか?
> ある時改修で別のpublicメソッドからt=3のときにprivateメソッドを呼ぶことになったら
> t=0しかテストやってなかったら
188デフォルトの名無しさん
2020/07/08(水) 20:59:13.73ID:hmU+YLWt >>186
そういうこと。巨大なメソッドがあったらそれを
一つのメソッドと、そこから使われるユーティリティメソッドに分割する
ユーティリティメソッドはできる限り汎用的なインターフェスにする(たとえ一箇所でしか使われていなくても)
ユーティリティメソッドはそれ単体でテストする
そうすれば巨大なメソッドのコード量が減る
そういうこと。巨大なメソッドがあったらそれを
一つのメソッドと、そこから使われるユーティリティメソッドに分割する
ユーティリティメソッドはできる限り汎用的なインターフェスにする(たとえ一箇所でしか使われていなくても)
ユーティリティメソッドはそれ単体でテストする
そうすれば巨大なメソッドのコード量が減る
189デフォルトの名無しさん
2020/07/08(水) 21:15:04.90ID:s5mehW61190デフォルトの名無しさん
2020/07/08(水) 21:19:38.42ID:hmU+YLWt >>189
あのさぁ、ごまかしてないでちゃんと書こうよ?
最小、最大、中間値のテストやってれば
最小、最大、中間値ではない3のテストなんて不要なんだよって
ちゃんといわないと、あのバカには伝わらないよ?
あのさぁ、ごまかしてないでちゃんと書こうよ?
最小、最大、中間値のテストやってれば
最小、最大、中間値ではない3のテストなんて不要なんだよって
ちゃんといわないと、あのバカには伝わらないよ?
191デフォルトの名無しさん
2020/07/08(水) 23:59:05.09ID:hEQaHqpN 最小、最大、中間値って聞いたことがないけど
どこかの分野で一般的に使われてるもの?
境界値分析なら
境界値と境界値の内側と外側の3値か
境界値と境界値の外側の2値かどっちかが一般的だと思う
どこかの分野で一般的に使われてるもの?
境界値分析なら
境界値と境界値の内側と外側の3値か
境界値と境界値の外側の2値かどっちかが一般的だと思う
192デフォルトの名無しさん
2020/07/09(木) 00:14:35.43ID:qGUjUa51 >>191
3と78がそれに当たると申すか?
3と78がそれに当たると申すか?
193デフォルトの名無しさん
2020/07/09(木) 00:16:52.90ID:tq6y70T3 俺もそう思ってたけど、そもそもスレタイともずれてきてるよねっていう
194デフォルトの名無しさん
2020/07/09(木) 00:21:36.93ID:Ai/0yITE 3と78の伏線が
今、回収されたのか?
今、回収されたのか?
195デフォルトの名無しさん
2020/07/10(金) 12:24:37.85ID:sSLzYC6I 詳細を知ってはならないということは、詳細の知識、つまり境界を知ってはならないということ。
「彼らはオブジェクト指向を全く知らない可哀そうな人ではないか?Javaを学ぶべきだ!」などと言う前に、原典に当たろう。
「彼らはオブジェクト指向を全く知らない可哀そうな人ではないか?Javaを学ぶべきだ!」などと言う前に、原典に当たろう。
196デフォルトの名無しさん
2020/07/10(金) 12:25:53.05ID:A+QDXq04 >>195
オブジェクト指向と関係ない話なら、関係ないって書いとけよ
オブジェクト指向と関係ない話なら、関係ないって書いとけよ
197デフォルトの名無しさん
2020/07/10(金) 12:54:55.71ID:1UxRpBTq zTLocdwC以外、Javaなんて誰も言ってないけど?何が言いたいんだ?
スレタイはカプセル化って書いてあるしOOPは理解している前提でしょ?
まぁ、明らかにOOPを理解していない人が発狂していたけど。
スレタイはカプセル化って書いてあるしOOPは理解している前提でしょ?
まぁ、明らかにOOPを理解していない人が発狂していたけど。
198デフォルトの名無しさん
2020/07/10(金) 14:04:44.56ID:sSLzYC6I いや、おそらくわかっていないだろう。
199デフォルトの名無しさん
2020/07/10(金) 14:09:26.25ID:sSLzYC6I オブジェクト指向のすばらしさを語っている人が、一番オブジェクト指向を知らない。
ゆえに議論が成り立たないという状態ではないだろか。
ゆえに議論が成り立たないという状態ではないだろか。
200デフォルトの名無しさん
2020/07/10(金) 14:12:09.99ID:sSLzYC6I201デフォルトの名無しさん
2020/07/10(金) 15:02:20.85ID:zQa5K81u202デフォルトの名無しさん
2020/07/10(金) 15:16:19.83ID:TbXdOMZ+ ポエってるやつがいるな
203デフォルトの名無しさん
2020/07/10(金) 16:07:13.59ID:sSLzYC6I 和田メソッドを称賛してる人たちに決まってるだろ。
204デフォルトの名無しさん
2020/07/10(金) 16:35:36.39ID:zQa5K81u 和田メソッドって何?
205デフォルトの名無しさん
2020/07/10(金) 17:14:49.72ID:sSLzYC6I >>1 に書いてあるだろ。
206デフォルトの名無しさん
2020/07/10(金) 17:42:15.92ID:A+QDXq04 >>1に書いてあるのはただの常識で
和田メソッドなんて特別な名前じゃないよ
和田メソッドなんて特別な名前じゃないよ
207デフォルトの名無しさん
2020/07/10(金) 20:12:23.39ID:FovnwiSG 常識を疑え、それって和田メソッドじゃないかって
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 中国側が首相答弁の撤回要求、日本側拒否 [夜のけいちゃん★]
- 債券・円・株「トリプル安」に…長期金利1.755%まで上昇、円は対ユーロで史上最安値 [蚤の市★]
- 映画「鬼滅の刃」の興行収入急減、日本行き航空券大量キャンセル…中国メディア報道 [蚤の市★]
- 日本行き空路49万件キャンセル 中国自粛呼びかけ 日本行きチケット予約の約32%に相当 ★5 [ぐれ★]
- 【音楽】Perfume・あ~ちゃんの結婚相手「一般男性」は吉田カバンの社長・吉田幸裕氏(41) 高身長で山本耕史似 [Ailuropoda melanoleuca★]
- 【音楽】英国政府 購入価格を超えるチケット転売を禁止へ 英紙報道 [湛然★]
