意味がないテストをするな。VERSION==1.0.0 [無断転載禁止]©2ch.net (87レス)
上下前次1-新
抽出解除 レス栞
1(6): 2017/09/09(土)15:31 ID:al+wrNfN(1/5) AAS
app.version = '1.0.0'
テストコード
expect(app.version).to.be '1.0.0'
バージョン番号1.1.0に変更すっぞ!
app.version = '1.1.0' に修正
expect(app.version).to.be '1.1.0' に修正
これただのデータの重複、たんなる二重管理ですから\(^o^)/
メンテナンス工数が二倍になるだけ
誰もそんなことやらねーよって思うかもしれないが
関数だったらやってしまうんだよね。
カバレッジがー(笑)
function getVersion() { return '1.1.0' }
expect(app.getVersion()).to.be '1.1.0'
他にも色々と、意味がないテストがある
意味がないテストしてるやつが多い。
関数の実行結果をテストコードにコピペしてテスト作るやつとかな
9(1): 2017/09/10(日)02:59 ID:CfAD8p5O(1/6) AAS
>>1
>function getVersion() { return '1.1.0' }
>expect(app.getVersion()).to.be '1.1.0'
バージョンアップのたびにテストコードを変更してメンテするのは微妙すぎるだろ
そうじゃなく、そのバージョン用のテストスイートを書いてるのであればその種のテストにも十分意味がある
(例えば1.0系のテストと1.1系のテストを並列でメンテしてる場合)
今は単純文字列を返す実装だから無意味に感じるのだろうが
リファクタして設定ファイルからバージョンを取得するようにしたり
DBからバージョンを取得するようになったりしても
仕様を満たしてるかどうかを確認できる
テストが不要なくらい明白な実装かどうかを
毎回判断しながらテストケースを管理することのほうが意味がない
48(2): 2017/09/27(水)23:02 ID:YYHqfTn1(1) AAS
>>1 が言ってるテストの書き方で問題なのは中の実装を見てテストを書こうとしてるところ。そんな書き方してたら意味のあるテストなんて殆ど書けない。
大事なのはテスト対象の振る舞いを決め、その通りに動作するかどうかの観点でテストを書くこと。
例えば固定のバージョンを返すメソッドでもそれが文字列なのであればフォーマットが決まってるはず。
フォーマットが決まってなければバージョンを確認して動作を変えるようなものも作れないからね。で、フォーマットが決まってるならそのフォーマット通りの文字列を返しているかどうかのテストが書ける。
逆に言えばそのバージョンが人間が異なるかどうかの確認する為の物なだけで、プログラム上から確認するためのものではないからフォーマットなんて決まってないというのであればそんなものにテストなんて書かなくていい
50(1): 2017/09/28(木)17:12 ID:5YSrcQS5(1) AAS
>>48
> >>1 が言ってるテストの書き方で問題なのは中の実装を見てテストを書こうとしてるところ。そんな書き方してたら意味のあるテストなんて殆ど書けない。
それ、君の思い込みだから
60: 2017/09/29(金)15:20 ID:FpNtbfv9(3/4) AAS
前者でも振る舞いを考えずに単純に内部実装のテストコードを書こうとするから無意味なテストコードになっている。 >>1 がいい例
68: 2017/09/30(土)00:55 ID:DvjAVMUQ(1) AAS
>>1
app.versionの定義が1.0.0という文字列を返すことならそれで構わない
「数字.数字.数字」というフォーマットの文字列を返すのが定義ならそれを検証しなければならない
どう定義されているのかに完全に依存するので>>1の内容だけでは何とも言えない
69(1): 2017/10/01(日)08:45 ID:QF3dVHO1(1) AAS
>>1
それでもそれやりゃ金もらえるんだから
文句言わずにやれカス
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.466s*