[過去ログ] カプセル化■プライベートメソッドをテストする方法 (476レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
31: 2020/07/05(日)21:27 ID:MQ9nuMmc(14/20) AAS
謙虚になれや
オブジェクト指向とは礼儀作法と心得よ
32: 2020/07/05(日)21:27 ID:MQ9nuMmc(15/20) AAS
>>30
はいはいもうえーから
33: 2020/07/05(日)21:27 ID:Xwol7cCi(3/3) AAS
>>27
Mainクラス云々については単に誤解してると思うけど
このスレの登場人物じゃあ多分おまいが一番マシな感性持ってそうやなw
34: 2020/07/05(日)21:28 ID:MQ9nuMmc(16/20) AAS
>>29
作ってへんやんけ
35: 2020/07/05(日)21:28 ID:MQ9nuMmc(17/20) AAS
やりもせずに何抜かしとんねん
36: 2020/07/05(日)21:29 ID:MQ9nuMmc(18/20) AAS
ほんま口だけやな
37: 2020/07/05(日)22:31 ID:cdjjBT1g(1/2) AAS
あら。続いていたのか。
38: 2020/07/05(日)22:53 ID:VS9zJ3bZ(1) AAS
このスレの主旨的にはprivateメソッドのテストコードを書きたいんだよね?
書く必要がないって主張は違うよね?
39: [age] 2020/07/05(日)23:21 ID:MQ9nuMmc(19/20) AAS
それはそれでありだと思うよ
40: [age] 2020/07/05(日)23:22 ID:MQ9nuMmc(20/20) AAS
結局のところ何でもあり
僕は単体テストさえやってないからね
41: 2020/07/05(日)23:27 ID:cdjjBT1g(2/2) AAS
スレタイと書いてあることがチグハグで趣旨が解りづらいな。
スレタイに従えば、privateを呼び出したいみたいだが、>>1の発言を見るとprivateの呼び出しは推奨しないように見える。
まぁ、私も推奨しないけど。

という訳で、適当に独り言を語ってみる。

単体テストって、例えば...
Queueという名前のクラスがあって、そのクラスの中に
Enqueue、Dequeue、Peek、Clearメソッドが定義されていたら、それらメソッドを呼び出して、その結果を予想するコード(テストコード)を書いて実行させる方法がオブジェクト指向プログラマーにとって一般的だと思うけど...その際にprivateメソッド(内部実装)をテストコードから呼び出さないといけない理由がわからん。
42
(1): 2020/07/05(日)23:28 ID:LRfXHt7v(1/3) AAS
t-wadaさんがどういう人か調べてみたところ、日本が誇るJavascript使いなんだな。
すると、t-wadaさんの立場ではprivateをテストしないというのは全くもって正しいと思う。
privateでやる事はライブラリを呼び出すだけなので、テストするのは無駄。

しかし、他の言語ではアルゴリズムの実装という仕事があり、アルゴリズムの実装をテストしたいという要求は常に存在する。
43: 2020/07/05(日)23:48 ID:LRfXHt7v(2/3) AAS
例えば多くのパーサーは公開メンバとしてpush()を持つ。
文字をプッシュする関数だ。
めぼしい公開メンバはこの程度しかない。

しかしその裏に100を超える非公開のメンバがあっても驚かない。
非決定性のパーサはその程度のメンバを持つ。

文字をプッシュする公開メンバ一つで、多くの状態、多くのメンバをテストするのは面倒な話で、何方にせよ非公開のメンバ、非公開の状態変数について知識が無ければテストできない。
だったら内部の状態について一切テストしないか、内部の状態を直接テストするか二択となる。

内部の状態についてはブラックボックスとして扱うべきと述べているのがt-wadaさんだが、それでは実装が非常に困難だ。
44: 2020/07/05(日)23:55 ID:LRfXHt7v(3/3) AAS
パーサーの話ついでに、もう一つアイデアを提供しよう。
決定性パーサーでは、還元が行われたとき、外部に影響を及ぼす。
通常この時点で意味動作を行う。
t-wadaさんは、この時に限りテストを行うべきであり、それ以外でテストを行ってはいけないと述べる。

つまり、シフトが行われるときはテストしてはならない。
今どの状態にあるかは外部にかかわりのない事なのでテストとしてはならない。
入力文字として改行を与えるとどの状態に遷移するかテストしてはならない。

これは厳しすぎやしないだろうか?
45: 2020/07/06(月)00:01 ID:NTI0gQuc(1/10) AAS
詳細を知ってはならないということは、どの状態を経てその記号が生み出されたのか知ってはならないということであり、これは非常につらい。
46: 2020/07/06(月)00:03 ID:NTI0gQuc(2/10) AAS
システム利用者がシステム作者に「詳細を検査しちゃだめじゃないか!」と怒っているように見える。
47
(1): 2020/07/06(月)00:24 ID:bo8iccWD(1/2) AAS
>>42
t-wadaはもともとJavaな人
48: 2020/07/06(月)00:27 ID:NTI0gQuc(3/10) AAS
クリスマスプレゼントが何かを知るために箱を振って音を聞くよりも、箱を開けて直接見るほうが早い。
49: 2020/07/06(月)00:29 ID:NTI0gQuc(4/10) AAS
箱を振って「プレゼントはプリキュア」と観測できたとする。
これは果たしてどの程度もっともらしいだろうか?
50
(1): 2020/07/06(月)01:18 ID:gvRhXNla(1) AAS
privateなメソッドの動きが仕様書で定義されてたらテストしなくちゃいけないし書いてなかったら書く必要無い
そしてprivateなメソッドの仕様まで定めた仕様書は俺は見たことない
51: 2020/07/06(月)02:20 ID:T074ZQpk(1) AAS
>>47
うるせーばか。文句を言うために都合の良いデータを調べてきたに決まってるだろ
52: 2020/07/06(月)07:14 ID:EsDpeV3E(1/2) AAS
一気に胡散臭くなったな
53: [age] 2020/07/06(月)07:37 ID:ODctk1XU(1/3) AAS
>>50
仕様書には普通アクセス修飾子を何にするかなんて書かないからね
設計書にもそんな細かいこと書かないでしょ
54
(1): 2020/07/06(月)07:38 ID:cDMo9043(1/2) AAS
書いてない関数を勝手に作るなんて禁止に決まってるだろ
テストのためだけに関数は作らない
55: [age] 2020/07/06(月)07:59 ID:ODctk1XU(2/3) AAS
>>54
すごい、そんなガチガチなの銀行系?
56: [age] 2020/07/06(月)08:00 ID:ODctk1XU(3/3) AAS
関数を作るのに許可がいるなんてすごいことだからとてもすごいと思いました
57
(1): 2020/07/06(月)09:07 ID:aZiq8mUC(1/5) AAS
>>1にはテストとしか書かれていないけど、記事元はユニットテスト(単体テスト)の話だよね?
58: 2020/07/06(月)10:09 ID:Smcv6rvz(1/2) AAS
組み込みでの話らしいよここw
59
(1): 2020/07/06(月)10:19 ID:cDMo9043(2/2) AAS
>>57
ユニットテスト以外でメソッドのテストなんかするのか?
60
(1): 2020/07/06(月)12:11 ID:O9yimTr2(1) AAS
>>3
このコード出すやつが混じってるんだろ?
議論無駄やん
61
(1): 2020/07/06(月)12:27 ID:aZiq8mUC(2/5) AAS
>>59
自分であたかも他のテストがあるように言っておいて変な話だがだが、しないね。

単体テストで不具合を見つけた後、デバッガを使って更にどこにバグの原因が潜んでいるのか分析することはあるけど、それはもはやテストではなくデバッグだしね。
62: 2020/07/06(月)12:34 ID:aZiq8mUC(3/5) AAS
てかさ、タイトルがカプセル化なのに、なんで>>3>>5もテストコード実行場所とテストコード実行場所が同じ階層に記述されているのさ。
63: 2020/07/06(月)12:35 ID:aZiq8mUC(4/5) AAS
ミス。テストコード実行場所とテスト対象が同じ階層に書かれているのはなんで?だ。
64: 2020/07/06(月)14:43 ID:NTI0gQuc(5/10) AAS
和田理論は穴が多くてお話にならないな。
65: 2020/07/06(月)14:44 ID:40IRbGG5(1) AAS
では穴のない理論をおなしゃす
66: 2020/07/06(月)14:51 ID:NTI0gQuc(6/10) AAS
和田理論に騙された人は抗議したほうが良い。
67: 2020/07/06(月)14:54 ID:EsDpeV3E(2/2) AAS
wadaは忘れろ

privateだからテストしなくていいなどという都合のいい法則は存在しない だがprivateだからとテストをしないキチガイは確実に存在するのだ
68: 2020/07/06(月)15:05 ID:NTI0gQuc(7/10) AAS
和田理論被害者の会ひつよう。
とてもひつよう。
69: 2020/07/06(月)15:07 ID:bo8iccWD(2/2) AAS
一意見を急に”理論”とか”法則”とか言う方が頭どうかしてるよ

t-wadaはTDDをわかりやすく解説することに定評があるだけ
ただいろんな会社からテストのコンサルティングで雇われる程度には有能だから
君たちの意見よりは一般には受け入れられやすい
70: 2020/07/06(月)15:10 ID:NTI0gQuc(8/10) AAS
和田理論被害者の会ニューヨーク支部もひつよう。
とてもひつよう。
71: 2020/07/06(月)15:12 ID:Smcv6rvz(2/2) AAS
このスレ、脱線が好きだなw
72: 2020/07/06(月)15:14 ID:NTI0gQuc(9/10) AAS
前スレで王家秘伝のレシピ教えたのに。
誰も活用しないんだな。
73: 2020/07/06(月)15:17 ID:NTI0gQuc(10/10) AAS
俺も活用していないわそういえば。
74
(2): 2020/07/06(月)15:18 ID:9+hHOd2F(1/2) AAS
>>61
> 単体テストで不具合を見つけた後、デバッガを使って更にどこにバグの原因が潜んでいるのか分析することはあるけど、それはもはやテストではなくデバッグだしね。

単体テストで不具合を見つけた後にするもの=デバッグ
デバッグの前にする不具合を見るけるもの=テスト

だろ?

テストの後にするデバッグは、テストではなくデバッグだしねって
あんた何言ってるの?
75: 2020/07/06(月)16:05 ID:n2uckING(1) AAS
オブジェクト指向の話をしよう

彡ミ
↓↓↓
彡 ⌒ ミ
(´・ω・`) 頭皮、毛髪に触れるものは全て検査する
76: 2020/07/06(月)17:22 ID:aZiq8mUC(5/5) AAS
>>74
そんな細かいこと気にすんなよ。揚げ足取りめ。
よく単体テストは不具合を見つけるためにやると言われるが、別視点の考え方もあるって話だ。

ここでは些細な話だったな。
77
(1): 2020/07/06(月)17:32 ID:zkbL7M3i(1) AAS
>>74
> テストの後にするデバッグは、テストではなくデバッグだしねって
> あんた何言ってるの?

テストの後にするデバッグはデバッグでしかないと思いますけど、どこに突っ込みを入れたいのですか?
78
(1): 2020/07/06(月)18:58 ID:9+hHOd2F(2/2) AAS
>>77
↓ここにツッコミを入れたい

> それはもはやテストではなくデバッグだしね。
79: 2020/07/06(月)20:17 ID:pO1U5uVJ(1) AAS
>>60
そうそれ
あれ書く奴とは1byteたりとも意見交換したくないわ
80: 2020/07/06(月)22:24 ID:djm9krVS(1) AAS
まだプログラミング教室やってんのかw
81
(1): 2020/07/07(火)11:04 ID:hnvy2tUT(1/3) AAS
>>78
(テストとデバッグは違う作業だと思うのだが)
82: 2020/07/07(火)11:33 ID:hnvy2tUT(2/3) AAS
もしかすると、バグの原因を調査する作業はテストに含まれるかどうかって話かな?
83: 2020/07/07(火)11:34 ID:zTLocdwC(1/17) AAS
和田メソッド被害者の会に入れてほしいです。
84: 2020/07/07(火)11:40 ID:YBf2Aagc(1/23) AAS
>>81
当たり前だろ?
テストではなくデバッグだしねっていうのが意味わからんって言ってる
テストはテストだろ
85
(1): 2020/07/07(火)12:01 ID:hnvy2tUT(3/3) AAS
突っ込みどころねーじゃんw
それなのに喧嘩腰で突っ込んで周囲に突っ込まれただけか。
86: 2020/07/07(火)12:04 ID:bdixmHft(1/12) AAS
privateメソッドのチェックもできない奴は出荷すんぞ
87
(2): 2020/07/07(火)12:25 ID:NlNPNtxk(1/3) AAS
privateのチェックって具体的にどうやるの?
Queueというクラスをテストするケースを例に教えて。
88
(2): 2020/07/07(火)12:31 ID:jam8vymb(1/2) AAS
queue = Queue()
queue.push(17)
asserEqual( queue.length, 1)
a = queue.pop()
assertEqual( a, 17)
assertEqual( quele.length, 0)

だいたいこんなもんだろ。
89: 2020/07/07(火)12:37 ID:NlNPNtxk(2/3) AAS
>>88
おお、俺もそんなのイメージしてた。
そんなコードでpublic経由でprivateを呼び、ついでにカバレッジテストとか済ませる感じかな。

...だったらいいのだが、なーんか、このスレの人達の言動を見ていると怪しいんだよな。
88は別に問題ないけど。
90: 2020/07/07(火)12:56 ID:NlNPNtxk(3/3) AAS
カバレッジテストをするかどうかは、ケースバイケース。どちらでもいいとして、一番気にしているのは、そもそも>>1の記事主に批判的な人はオブジェクト指向を理解しているのか?という点。
怪しいというのは、そこね。
91
(2): 2020/07/07(火)13:10 ID:YBf2Aagc(2/23) AAS
>>85
デバッグはテストじゃなくてデバッグだしねと言われても当たり前としか言えないし、
デバッグの前にやるテストはテストだしねで終わりだろ?
92
(2): 2020/07/07(火)13:14 ID:zTLocdwC(2/17) AAS
>>91
言いたいことは何となく理解できる。
「私以外はみんな馬鹿」
ってことだろ?

つまりキミの主な言語はJava。
93: 2020/07/07(火)13:19 ID:zTLocdwC(3/17) AAS
どうやら図星だったようですね。

Javaではありがちなんですよ。
94
(1): 2020/07/07(火)13:28 ID:RJk/Rw+W(1) AAS
>>91
とまぁ、>>92みたいな低能が蔓延るスレで世間の常識は通用しないってことが証明されちゃったわけだ。
立ち去るがいい。
95
(3): 2020/07/07(火)13:34 ID:YBf2Aagc(3/23) AAS
>>92
何がいいたいの(笑)
俺を馬鹿にしたいのかな?でも文章がそうなってないな。
96: 2020/07/07(火)14:34 ID:zTLocdwC(4/17) AAS
>>95
Java!Java!
97: 2020/07/07(火)14:48 ID:zTLocdwC(5/17) AAS
>>95
馬鹿にしてない。
馬鹿に付ける薬はない。
98
(1): 2020/07/07(火)14:56 ID:zTLocdwC(6/17) AAS
オブジェクト指向はダメなんじゃないか?というのが前スレの趣旨で、非公開のメンバは何のためにあるの?テストどうするの?という話になった。

それに対する回答が「非公開のメンバはブラックボックスとして扱いテストしてはならない」という和田メソッドが示された。

それに対して「入力に使われる一つのメンバしかもたないパーサ」という実例を挙げ、「文字列を入力され構文木を返すような状態機械のテストが非常に困難」という話が出た。
この場合、内部を観測できないのであれば、すべての入力の組み合わせ(受理できない入力もテストするなら、それは無限である)に対して、すべての取りうる構文木のセットを検査しなければならない。
つまりそれは太陽系よりもはるかに広く、銀河の向こうまでテストするということである。

それに対して「オブジェクト指向を知らない」などと抜けたことを言うので、「Java!」という結論が出された。
99
(1): 2020/07/07(火)15:04 ID:YBf2Aagc(4/23) AAS
> それに対する回答が「非公開のメンバはブラックボックスとして扱いテストしてはならない」という和田メソッドが示された。

正確には

・パブリックメソッド経由でテストする
・別クラスのパブリックメソッドとする
・テスト対象の可視性を(やや)上げる
・プライベートのまま、リフレクションでアクセスしてテストを書く

まとめ
繰り返すと、プライベートなメソッドや関数をテストする必要は無いと考えています。
プライベートなメソッドは、実装の詳細であるからです。
100: 2020/07/07(火)15:05 ID:O+C/kGAG(1/5) AAS
実装の詳細ならむしろテストが必要だと思うのだけど
なんで詳細だからテストしなくて良いのだろう
t_wada被害者の会に僕も入会させてください
101
(1): 2020/07/07(火)15:07 ID:zTLocdwC(7/17) AAS
>>99
公開メンバは文字を入力するpush()のみと示されてるだろ。
複数の文字を入力して構文木を得る、ごくありふれた状態機械の話だよ。

公開メンバは一つしかない。

ほらテストしてみろ。
102: 2020/07/07(火)15:07 ID:YBf2Aagc(5/23) AAS
>>98
> それに対して「入力に使われる一つのメンバしかもたないパーサ」という実例を挙げ、「文字列を入力され構文木を返すような状態機械のテストが非常に困難」という話が出た。
> この場合、内部を観測できないのであれば、すべての入力の組み合わせ(受理できない入力もテストするなら、それは無限である)に対して、すべての取りうる構文木のセットを検査しなければならない。

それはパブリックメソッドでも同じこと
内部を観測して、すべての入力の組み合わせをテストしないといけないから
103: 2020/07/07(火)15:08 ID:YBf2Aagc(6/23) AAS
>>101
> ほらテストしてみろ。

テストしてもいいが、先にパブリックメソッドの場合の例を書いてくれ
それと同じことをやればいいだけなんだが
104
(2): 2020/07/07(火)15:10 ID:O+C/kGAG(2/5) AAS
単体テストっていう言い方がまずいのかも
インターフェーステストとインプリメンテーションテストに分けるのが良い気がします
105
(3): 2020/07/07(火)15:11 ID:zTLocdwC(8/17) AAS
言い張るんだったら、ほんとに和田メソッド被害者の会作っちゃうよ?
会員200万人目指しちゃうよ?
いいの?
106: 2020/07/07(火)15:12 ID:YBf2Aagc(7/23) AAS
>>105
先にパブリックメソッドの場合に
どうするかを答えてくれないか?
107: 2020/07/07(火)15:12 ID:zTLocdwC(9/17) AAS
>>105
言いたいことわかってくれるあなたは、PythonとかC#とかC++ですね?
108
(2): 2020/07/07(火)15:13 ID:YBf2Aagc(8/23) AAS
自作自演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++ですね?
109: 2020/07/07(火)15:13 ID:O+C/kGAG(3/5) AAS
王家の秘伝メソッド普及委員会を立ち上げよう
110
(1): 2020/07/07(火)15:14 ID:zTLocdwC(10/17) AAS
>>108
>>104 に言いたかっただけだろ。
そのくらいわかれ。
111: 2020/07/07(火)15:15 ID:YBf2Aagc(9/23) AAS
>>110
そんなどうでもいいものばっかりにレスしてないで、
先にパブリックメソッドの場合に
どうするかを答えてくれないか?
112: 2020/07/07(火)15:15 ID:zTLocdwC(11/17) AAS
Javaは色々研究して提唱してえらいなあと思う部分もあるんだけど、すぐに宗教化してしまうからな。
そこがJava!なんだよな。
113: 2020/07/07(火)15:17 ID:YBf2Aagc(10/23) AAS
どうも都合が悪かったようだな
俺のレスに答えられずひたすら関係ない話を始めた
114: 2020/07/07(火)15:18 ID:pnFsfYkB(1/2) AAS
>>108
この自作自演は恥ずかしいなww
115: 2020/07/07(火)15:20 ID:zTLocdwC(12/17) AAS
でも俺が設立するからには、普通じゃダメなんだよ。
俺がやるからには、和田メソッド被害者の会長が和田さん。
ここまでやってこそ本物だと思うんだよね。
まず、和田さんを説き伏せなきゃ。
116: 2020/07/07(火)15:21 ID:YBf2Aagc(11/23) AAS
いいだしっぺが説き伏せるそうです。
実際に行動を起こせるか見てみましょう
117: 2020/07/07(火)15:22 ID:zTLocdwC(13/17) AAS
和田さん頼むわ。
見てるんやろ?
118: 2020/07/07(火)15:22 ID:YBf2Aagc(12/23) AAS
いきなり他人だよりです(笑)
自分から知らせに行く勇気もないようですね
119: 2020/07/07(火)15:24 ID:zTLocdwC(14/17) AAS
>>104 をベースに考察していけば良いのでは。
120: 2020/07/07(火)15:26 ID:YBf2Aagc(13/23) AAS
ではまずいいだしっぺから
なぜパブリックメソッドにすると
すべての入力の組み合わせをテストしなくてよくなるのか?
C1カバレッジって言葉知ってますかね?
121: 2020/07/07(火)15:27 ID:YBf2Aagc(14/23) AAS
訂正、すべての入力の組み合わせは2カバレッジだった
122: 2020/07/07(火)15:27 ID:YBf2Aagc(15/23) AAS
C2カバレッジだった
123
(2): 2020/07/07(火)15:39 ID:K/dtFkkl(1) AAS
>>87
一般的にはQueueはprivateのメソッドも単純なロジックしか持たないから
public経由のテストで十分な場合が多いかもしれないけど
それがあらゆる状況に当てはまるわけではない

例えばgrowableなring bufferでqueueを実装するとして
バッファを拡大させるロジックに独自の最適化をいろいろと施してるような場合、
各種分岐に応じたメモリコピーの方法だったり、それに応じたメモリの初期化状態の確認だったり
privateなhead/tailポインタへのアクセスだったり、
public経由だけでは確認できないテストをしたほうがいい場合がある
124: 2020/07/07(火)15:42 ID:YBf2Aagc(16/23) AAS
>>123
訂正

一般的にはQueueはprivateのメソッドも単純なロジックしか持たないから
public経由のテストで十分な場合が多いかもしれないけど
それがあらゆる状況に当てはまるわけではない

もしpublic経由のテストで不十分な場合、それはメソッドの責務が大きいと考えられる
リファクタリングして複数のクラスに分離するのが正しい対応
そうすれば自然publicメソッドとなりテストが可能になる
125: 2020/07/07(火)15:53 ID:zTLocdwC(15/17) AAS
キミも和田メソッドの被害者なんだよ。
可哀そうに。
和田さん本人だとしても、被害者であることに変わりはないんだよ。
126: 2020/07/07(火)15:59 ID:pnFsfYkB(2/2) AAS
あれ、説き伏せるんじゃないの?
127: 2020/07/07(火)16:00 ID:zTLocdwC(16/17) AAS
もう和田さんは改心してこっちの味方だから。
128
(1): 2020/07/07(火)16:09 ID:bdixmHft(2/12) AAS
ごちゃごちゃうるさい
privateメソッドのテストやれよ
キチガイ
129: 2020/07/07(火)16:11 ID:cp13iBTj(1) AAS
虚言癖まであるのかな
130
(1): 2020/07/07(火)16:15 ID:zTLocdwC(17/17) AAS
和田メソッド被害者の会、会員募集中。
和田さんも入会して良いんだヨ。
131: 2020/07/07(火)17:39 ID:O+C/kGAG(4/5) AAS
>>123
君は信頼できる
実装をよくわかってる人だ
132: 2020/07/07(火)17:43 ID:jam8vymb(2/2) AAS
可視性狂信者ってのはどうしようもないね。テストさえ犠牲にし始める。
133: 94 2020/07/07(火)17:55 ID:k9dX6gDH(1/2) AAS
>>95
今さらだけど、前スレのタイトル(今より酷い)から察せると思うが、あなたの想像を越えるお馬鹿さんがいるから、常識を持つあなたはここから逃げた方がいいよと、お前どっちの味方だよ風に言いたかった。
134: 2020/07/07(火)18:13 ID:k9dX6gDH(2/2) AAS
って、何でもないです。
(アンカが自分に向いていたと勘違いしてたとか言えねぇ)
135: 2020/07/07(火)18:55 ID:B0OaeN7n(1) AAS
>>130
むしろ、こんな気違いに絡まれる和田さんカワイソ
136: 2020/07/07(火)19:10 ID:BPFgnJg7(1) AAS
結局実際に絡む度胸もないから無害やけどなw
137
(1): 2020/07/07(火)19:21 ID:zm6NAQZG(1/4) AAS
>>128
君の言うテストって何?
しかも、君は>>87の質問に答えてないよね?
具体例示してよ。
138
(1): 2020/07/07(火)19:26 ID:bdixmHft(3/12) AAS
>>137
は?いいからprivateメソッドのテストやれよ
139
(1): 2020/07/07(火)19:27 ID:zm6NAQZG(2/4) AAS
オブジェクト指向を理解している人間の言うprivateをテストせよ/テストするべきではない と、 オブジェクト指向を理解していない人間のprivateをテストせよ/テストするべきでない は論争のレベルが全然違う。
大学生同士の論争と小学生同士の喧嘩くらい違う。

お前はどっちだ?>>138
140: 2020/07/07(火)19:28 ID:bdixmHft(4/12) AAS
>>139
ごちゃごちゃうるさい
privateメソッドのテストをやれ
141: 2020/07/07(火)19:32 ID:bdixmHft(5/12) AAS
ここで話を整理するけど

privateメソッドだからテストしないとか言ってるやつはキチガイ
早く死んでね
142: 2020/07/07(火)19:33 ID:zm6NAQZG(3/4) AAS
具体例もなく、privateのテストやれと言われてもできねーよ、バーカ。
143
(2): 2020/07/07(火)19:35 ID:bdixmHft(6/12) AAS
うんうん

わかってない人もいるみたいだからもう一度ここで仕切り直しさせてほしい

privateメソッドだからテストしないとか言ってるやつはキチガイ
早く死んでね

わかったかな?
144: 2020/07/07(火)19:36 ID:OvditBd9(1) AAS
ほら、>>143は巣に帰りなさい。

【隔離】オブジェクト指向アンチスレ
2chスレ:tech
145: 2020/07/07(火)19:37 ID:rZMsiuSb(1/2) AAS
頭皮に触れるものは全て検査する

彡ミ
↓↓↓
彡 ⌒ ミ
(´・ω・`) 使ってるシャンプー、肌に合ってるかい?
146: 2020/07/07(火)19:44 ID:rZMsiuSb(2/2) AAS
[ケハエール]

彡 ⌒ ミ
(´・ω・`) 確認もせず使うのは馬鹿だ
147
(1): 2020/07/07(火)22:01 ID:YBf2Aagc(17/23) AAS
>>143
> privateメソッドだからテストしないとか言ってるやつはキチガイ
だれそれ?

privateメソッドはpublicメソッド経由でテストすると
言ってる人しかいないけど?
148: [age] 2020/07/07(火)22:08 ID:O+C/kGAG(5/5) AAS
>>3の下痢便コード書いた人ですよね?
149
(3): 2020/07/07(火)22:11 ID:bdixmHft(7/12) AAS
>>147
それテストできてねーからw
publicから t=0のときだけprivateの処理が欲しかったとするじゃん?
そのままじゃpublicは仕様でt=0のときしかそのprivateメソッドを呼ばないんだから
そのpublicからしかテストしないんじゃt≠0のときのテストできねーじゃん
やんねーのかよ?
ある時改修で別のpublicメソッドからt=3のときにprivateメソッドを呼ぶことになったらt=0しかテストやってなかったら
普通は怒り狂うもんだよ
っていうか絶対ブッ殺す
150: 2020/07/07(火)22:27 ID:YBf2Aagc(18/23) AAS
>>149

> そのままじゃpublicは仕様でt=0のときしかそのprivateメソッドを呼ばないんだから

つまり、publicがt=0のときprivateメソッドを呼ぶんですよね?
publicがt=0のテストをすれば、privateのテストしてるじゃないですかw
151
(1): 2020/07/07(火)22:30 ID:YBf2Aagc(19/23) AAS
> ある時改修で別のpublicメソッドからt=3のときにprivateメソッドを呼ぶことになったら
> t=0しかテストやってなかったら

仕様が変わったのならt=3のときのテストを追加しましょう
152: 2020/07/07(火)22:34 ID:YBf2Aagc(20/23) AAS
>>149はホント意味不明だな

最初の仕様・・・t=0のときしかprivateメソッドの処理をしない
t=3のときは?→「privateメソッドの処理をしない」場合の結果が正しい

改修・・・t=3のときにprivateメソッドの処理をすることになった
「privateメソッドの処理をした」場合の結果が以前と異なるという仕様になった
では新しい仕様のテストを書きましょう

これだけなんだがなぁ
前と正しい答えが違うのに、テストを修正しないの?
153
(1): 2020/07/07(火)22:49 ID:bdixmHft(8/12) AAS
>>151
おかしくない?
privateメソッドの仕様は変わってないよ

お前はガラクタをこさえたから説明のできない行動を取らなければならない
154
(1): 2020/07/07(火)22:52 ID:bdixmHft(9/12) AAS
設計書かコメントに

このメソッドはt=0のときしかテストしていません!

って書いてあるの?
お前のソースって
悪いけど見たことねーや
滅茶苦茶バカだしもういいかな?
レスしなくて
155: 2020/07/07(火)22:54 ID:YBf2Aagc(21/23) AAS
>>153
だから変わったpublicメソッドをテストしろよ
変わってないならprivateメソッドに何の問題もないだろ
それとも何か?お前すべての取りうる値でテストしろと言ってんのか?

この関数は数値を二倍してくれる関数である。
今まで4を入れてこの関数を呼び出していた。

今度5を入れるようになったから5を入れた場合はどうなるかテストする必要がある
今度は6を、7を、8を・・・って新しい引数で呼び出すために
そのテストが必要なんか?ああん?
156: 2020/07/07(火)22:56 ID:YBf2Aagc(22/23) AAS
>>154
> このメソッドはt=0のときしかテストしていません!

お前は t=全ての整数 でテストしろっていってるってことでいい?
157
(1): 2020/07/07(火)23:00 ID:bdixmHft(10/12) AAS
は?最小-1、最小、中間、最大、最大+1通すだろフツー
1-
あと 319 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 1.067s*