■短い回答
プライベートをテストしたい場合は設計に問題があるので、パブリックに変更してテストしましょう
■これに対する(変な人の)驚いた反論
プライベートを一時的にパブリックにして、テストが終わったら
プライベートに戻すなんてやるわけないだろw
↑誰もそんなコトしろなんて言ってない
■テスト専門家による回答
t-wadaのブログ
https://t-wada.hatenablog.jp/entry/should-we-test-private-methods
短くまとめると、プライベートなメソッドのテストを書く必要は 無い と考えています。
ほとんどのプライベートメソッドはパブリックメソッド経由でテストできるからです。
プライベートメソッドは実装の詳細であり、自動テストのターゲットとなる「外部から見た振る舞い」ではありません。
プライベートなメソッドのテストに関しては、4つの考え方があります。
・パブリックメソッド経由でテストする
・別クラスのパブリックメソッドとする
・テスト対象の可視性を(やや)上げる
・プライベートのまま、リフレクションでアクセスしてテストを書く
パブリックメソッド経由でテストする
多くの場合、そのクラスのパブリックメソッド経由でプライベートメソッドのテストも同時に行えます。テストできているか不安があるならテストカバレッジを確認しましょう。
別クラスのパブリックメソッドとする
プライベートなメソッドのテストを書きたいということは、実はテスト対象の責務が多すぎることを示唆している場合があります。
テストがどうしても書きたい場合は、その責務はテスト対象のプライベートな振る舞いではなく、他の誰かのパブリックな振る舞いなのでしょう。
探検
カプセル化■プライベートメソッドをテストする方法
■ このスレッドは過去ログ倉庫に格納されています
2020/07/05(日) 20:47:46.60ID:M+BkbwUs
2020/07/07(火) 11:04:13.93ID:hnvy2tUT
>>78
(テストとデバッグは違う作業だと思うのだが)
(テストとデバッグは違う作業だと思うのだが)
2020/07/07(火) 11:33:22.19ID:hnvy2tUT
もしかすると、バグの原因を調査する作業はテストに含まれるかどうかって話かな?
83デフォルトの名無しさん
2020/07/07(火) 11:34:20.85ID:zTLocdwC 和田メソッド被害者の会に入れてほしいです。
2020/07/07(火) 11:40:38.80ID:YBf2Aagc
2020/07/07(火) 12:01:27.16ID:hnvy2tUT
突っ込みどころねーじゃんw
それなのに喧嘩腰で突っ込んで周囲に突っ込まれただけか。
それなのに喧嘩腰で突っ込んで周囲に突っ込まれただけか。
2020/07/07(火) 12:04:20.99ID:bdixmHft
privateメソッドのチェックもできない奴は出荷すんぞ
2020/07/07(火) 12:25:55.22ID:NlNPNtxk
privateのチェックって具体的にどうやるの?
Queueというクラスをテストするケースを例に教えて。
Queueというクラスをテストするケースを例に教えて。
2020/07/07(火) 12:31:21.40ID:jam8vymb
queue = Queue()
queue.push(17)
asserEqual( queue.length, 1)
a = queue.pop()
assertEqual( a, 17)
assertEqual( quele.length, 0)
だいたいこんなもんだろ。
queue.push(17)
asserEqual( queue.length, 1)
a = queue.pop()
assertEqual( a, 17)
assertEqual( quele.length, 0)
だいたいこんなもんだろ。
2020/07/07(火) 12:37:00.92ID:NlNPNtxk
>>88
おお、俺もそんなのイメージしてた。
そんなコードでpublic経由でprivateを呼び、ついでにカバレッジテストとか済ませる感じかな。
...だったらいいのだが、なーんか、このスレの人達の言動を見ていると怪しいんだよな。
88は別に問題ないけど。
おお、俺もそんなのイメージしてた。
そんなコードでpublic経由でprivateを呼び、ついでにカバレッジテストとか済ませる感じかな。
...だったらいいのだが、なーんか、このスレの人達の言動を見ていると怪しいんだよな。
88は別に問題ないけど。
2020/07/07(火) 12:56:17.65ID:NlNPNtxk
カバレッジテストをするかどうかは、ケースバイケース。どちらでもいいとして、一番気にしているのは、そもそも>>1の記事主に批判的な人はオブジェクト指向を理解しているのか?という点。
怪しいというのは、そこね。
怪しいというのは、そこね。
2020/07/07(火) 13:10:52.54ID:YBf2Aagc
92デフォルトの名無しさん
2020/07/07(火) 13:14:04.43ID:zTLocdwC93デフォルトの名無しさん
2020/07/07(火) 13:19:42.71ID:zTLocdwC どうやら図星だったようですね。
Javaではありがちなんですよ。
Javaではありがちなんですよ。
2020/07/07(火) 13:28:08.57ID:RJk/Rw+W
2020/07/07(火) 13:34:52.03ID:YBf2Aagc
96デフォルトの名無しさん
2020/07/07(火) 14:34:40.27ID:zTLocdwC >>95
Java!Java!
Java!Java!
97デフォルトの名無しさん
2020/07/07(火) 14:48:31.09ID:zTLocdwC98デフォルトの名無しさん
2020/07/07(火) 14:56:56.51ID:zTLocdwC オブジェクト指向はダメなんじゃないか?というのが前スレの趣旨で、非公開のメンバは何のためにあるの?テストどうするの?という話になった。
それに対する回答が「非公開のメンバはブラックボックスとして扱いテストしてはならない」という和田メソッドが示された。
それに対して「入力に使われる一つのメンバしかもたないパーサ」という実例を挙げ、「文字列を入力され構文木を返すような状態機械のテストが非常に困難」という話が出た。
この場合、内部を観測できないのであれば、すべての入力の組み合わせ(受理できない入力もテストするなら、それは無限である)に対して、すべての取りうる構文木のセットを検査しなければならない。
つまりそれは太陽系よりもはるかに広く、銀河の向こうまでテストするということである。
それに対して「オブジェクト指向を知らない」などと抜けたことを言うので、「Java!」という結論が出された。
それに対する回答が「非公開のメンバはブラックボックスとして扱いテストしてはならない」という和田メソッドが示された。
それに対して「入力に使われる一つのメンバしかもたないパーサ」という実例を挙げ、「文字列を入力され構文木を返すような状態機械のテストが非常に困難」という話が出た。
この場合、内部を観測できないのであれば、すべての入力の組み合わせ(受理できない入力もテストするなら、それは無限である)に対して、すべての取りうる構文木のセットを検査しなければならない。
つまりそれは太陽系よりもはるかに広く、銀河の向こうまでテストするということである。
それに対して「オブジェクト指向を知らない」などと抜けたことを言うので、「Java!」という結論が出された。
2020/07/07(火) 15:04:16.80ID:YBf2Aagc
> それに対する回答が「非公開のメンバはブラックボックスとして扱いテストしてはならない」という和田メソッドが示された。
正確には
・パブリックメソッド経由でテストする
・別クラスのパブリックメソッドとする
・テスト対象の可視性を(やや)上げる
・プライベートのまま、リフレクションでアクセスしてテストを書く
まとめ
繰り返すと、プライベートなメソッドや関数をテストする必要は無いと考えています。
プライベートなメソッドは、実装の詳細であるからです。
正確には
・パブリックメソッド経由でテストする
・別クラスのパブリックメソッドとする
・テスト対象の可視性を(やや)上げる
・プライベートのまま、リフレクションでアクセスしてテストを書く
まとめ
繰り返すと、プライベートなメソッドや関数をテストする必要は無いと考えています。
プライベートなメソッドは、実装の詳細であるからです。
100デフォルトの名無しさん
2020/07/07(火) 15:05:58.19ID:O+C/kGAG 実装の詳細ならむしろテストが必要だと思うのだけど
なんで詳細だからテストしなくて良いのだろう
t_wada被害者の会に僕も入会させてください
なんで詳細だからテストしなくて良いのだろう
t_wada被害者の会に僕も入会させてください
101デフォルトの名無しさん
2020/07/07(火) 15:07:05.23ID:zTLocdwC102デフォルトの名無しさん
2020/07/07(火) 15:07:48.37ID:YBf2Aagc >>98
> それに対して「入力に使われる一つのメンバしかもたないパーサ」という実例を挙げ、「文字列を入力され構文木を返すような状態機械のテストが非常に困難」という話が出た。
> この場合、内部を観測できないのであれば、すべての入力の組み合わせ(受理できない入力もテストするなら、それは無限である)に対して、すべての取りうる構文木のセットを検査しなければならない。
それはパブリックメソッドでも同じこと
内部を観測して、すべての入力の組み合わせをテストしないといけないから
> それに対して「入力に使われる一つのメンバしかもたないパーサ」という実例を挙げ、「文字列を入力され構文木を返すような状態機械のテストが非常に困難」という話が出た。
> この場合、内部を観測できないのであれば、すべての入力の組み合わせ(受理できない入力もテストするなら、それは無限である)に対して、すべての取りうる構文木のセットを検査しなければならない。
それはパブリックメソッドでも同じこと
内部を観測して、すべての入力の組み合わせをテストしないといけないから
103デフォルトの名無しさん
2020/07/07(火) 15:08:26.27ID:YBf2Aagc104デフォルトの名無しさん
2020/07/07(火) 15:10:39.95ID:O+C/kGAG 単体テストっていう言い方がまずいのかも
インターフェーステストとインプリメンテーションテストに分けるのが良い気がします
インターフェーステストとインプリメンテーションテストに分けるのが良い気がします
105デフォルトの名無しさん
2020/07/07(火) 15:11:55.03ID:zTLocdwC 言い張るんだったら、ほんとに和田メソッド被害者の会作っちゃうよ?
会員200万人目指しちゃうよ?
いいの?
会員200万人目指しちゃうよ?
いいの?
106デフォルトの名無しさん
2020/07/07(火) 15:12:43.32ID:YBf2Aagc107デフォルトの名無しさん
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いっぱいしてたらもうそれ完全害悪じゃね
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 日本行き空路49万件キャンセル 中国自粛呼びかけ 日本行きチケット予約の約32%に相当 ★2 [ぐれ★]
- 【中国局長】両国関係に「深刻な影響」 首相発言の撤回要求 [蚤の市★]
- 【卓球】早田ひな、「総額100万スられた」「ずっと憧れていたスペインとイタリア…」ヨーロッパ旅行で悲劇 スリ被害を告白 [muffin★]
- 外務省局長は無言で厳しい表情…日中の高官協議終了か 高市首相“台湾”発言で中国が強硬対応 発言撤回求めたか…★3 [BFU★]
- 【インバウンド】中国人観光客の日本での消費額は年間約2兆円超…中国政府は公務員の出張取り消し [1ゲットロボ★]
- 日経平均の下落率3%超す、財政懸念で長期金利上昇 ★2 [お断り★]
- 【実況】博衣こよりのえちえち歌枠🧪★2
- 【画像】外務省局長「この度はうちの🦎がすみません…」中国「……」 [165981677]
- 産経新聞「高市早苗の答弁さぁ……思慮が足りてなくね?官僚と詰めずに思いつきで話しているでしょ」 [175344491]
- 【高市速報】日本人の3割「中国への武力行使に踏み切る必要がある」ANN世論調査 [931948549]
- 【雑談】暇人集会所part18
- 外務省局長、よくわからないまま帰国へ [834922174]
