Testingって話になって、チーム内で盛り上がった。こんな感じのテストを書きたい時。「ジュースを買う」メソッドに、お金とジュースの番号を入力したらそのジュースが返されて、在庫が一個減る。juiceId)これでどう?buyJuice_shouldReturnJuice_whenInputAmountIs130Yenえ?でもこれだと、なんかこう・・・在庫が減ってることとかは表せてなくない?えー、じゃあこういう感じ?buyJuice_shouldReturnSelectedJuiceAndOneLessInventory_whenInputAmountIs130YenAndSelectedIdIsValidいや、長いね・・・。全部をメソッド名に書かない方が幸せなんじゃない?メソッド名で全てを表そうとするのは諦めて、メソッドを呼び出すときの事前条件だけにしてみようか?こうなるはず、って部分はテストメソッドの中身を見よう、ってことで。buyJuiceWhenInputAmountIsEqualToOrMoreThan130YenAndSelectedIdIsValidんー。ジュースが買える状態は正常だとして、省略してみようか。buyJuiceで、異常な状態のテストは書いてみるとbuyJuiceWithShortMoneybuyJuiceWithInvalidJuiceIdうん悪くないんじゃないかなー。buyJuicebuyJuiceWithShortMoneybuyJuiceWithInvalidJuiceIdという感じに落ち着いた。「事前条件をメソッド名にして、その条件のときに何が起こるかはテストメソッド内で表されるのを読むことにしてみよう」ってなった。本みっけたこの話をした後に、うろうろしてたらいい感じの本見つけた。www.safaribooksonline.comざっくり説明すると。prefixスタイルtestってプレフィックスつけるネーミングルールの時代があったけど、今はアノテーションがあるのでtestプレフィックスは特に意味ないよね。Osheroveshould使うスタイルshouldContainAdditionalItemAndIsSortedWhenAddItemOnListOfSortedItems複数行スタイルやっぱり、1行で表現しようとするのに無理があるんじゃね?てことでBDDスタイル。1行ずつがJUnitのテストケースにマッピングされる。correctlyGivenWhenThenコメントスタイルBDDのをコメントで。);}そもそもメソッド名ってテスト対象のメソッドの動きを変更した時にメソッド名の変更を追随させるの大変よね。いう視点で言うと、事後条件って結構頻繁に変わるけど、事前条件ってそこまで変わらんし、それをメソッド名にしてみたらどうかね。同じところに落ち着いてるーおまけ1,2年前まで日本語でテストメソッド名書いてたので情報をいっぱい詰められたんだけどね。最近は海外出身の人と仕事をすることが増えてきたので英語で書くようになったー。02:17JUnitのテストメソッド名をどういう風につけたらいいかなー?Tweet広告を非表示にする関連記事2017-10-21僕がJavaのWebアプリのコードレビューをするときって何を気にしてるっけなぁ?コードレビューをするときには、フォーマットや慣例的な書き方...2016-02-05僕のチームのGitの開発フローを考えてみる。nvie.comやってみたことある。(1)はてなブログをはじめよう!bufferingsさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。