BLOG

【プログラマー 新人研修 Java】新人オーリーの記録12

こんにちは、新人のオーリーです(・ω・)/

本日はお昼に会社の前にあるタイ料理屋へ食事に行き、豆の入ったカレー(名前を忘れてしまいました・・・)のセットを頂きました( ‘༥’ )ŧ‹”ŧ‹”

辛いのを食べたたいなと思い注文したのですが、かなりまろやかな辛さでジャスミンライスの香りがとても食欲をそそるセットでした(‘ω’)

それでは本日の内容を振り返っていきましょう。

本日の内容

Java exテスト演習 テストプログラム作成2日目

テストプログラムのテスト項目洗い出し

項目を元に単体テスト

単体テスト結果のレビュー

 

所感

本日はテスト演習のテスト項目の洗い出し、単体テストまで入りました。

テスト項目の洗い出し、単体テストまで順調で遅れを取り戻し、予定を前倒しに出来てよっしゃ順調!!!!!!

と思っていました。単体テストのレビューで「条件としてはひとつの日程についてしかテストを行っておらず、複数の条件の抜け漏れがあるため単体テストとしては不完全」という指摘を頂きました。

事前に複数条件は上げていましたが、それはメインメソッドのテスト(結合テスト)で行えば見ることができるし、大丈夫だよね・・・・と考えてしまっており、深く考えていなかったため反省すべき点だなと・・・・・(ヽ’ω`)

 

話は変わるのですが、私の担当していた「情報管理クラス」に存在するprivateメソッドを呼び出し、テストを行わなければならない状況があり、そのテストプログラムを作成していた場面がありました。いくら組んでもなかなか呼び出しが上手くいきませんでした・・・・。様々なサイトやテキストを調べたり、講師の方にアドバイスを頂き、その際頂いた内容をここにまとめて置き復習をしておきたいなと思います。

①テストメソッド実行前に行うこと
コンソールに出力する内容を、System.setOutによって()の中にある今回の場合はbaosに入れる。これにより、「情報管理クラス」のprivateから持ってきた内容をコンソールに表示せず別の値に動かすことができる。

②目的のメソッドの取得
c.getDeclaredMethod();によって、「情報管理クラス」に存在する「”autoMailDistributionRentalDay”」のメソッドを持ってきて左の値に代入をする。

③privateメソッドの中身を出す許可を設定
setAccessible(true);によって、設定した変数に入っているpraivteメソッドに許可の設定を与える。

④System.out.flush();

データの書き込みを指示するもの。①で取得した内容を、コンソールへで表示する際に必要な場合がある。今回の場合は「String actual = baos.toString();」があるため不要。

⑤  String expected = “お客様と担当者に貸出期限の自動送信” + System.lineSeparator();

「+System.lineSeparator();」の部分は、「”お客様と担当者に貸出期限の自動送信”/¥n」の改行を直すコード。④の内容で抜き出した際に表示するのに必要。

かなり長くなってしまいましたが、今回のprivateメソッドの抜き出しの試行錯誤は、いろいろな面で勉強になりました。特に上記コマンド類は、使う場面は少ないかもしれませんが、いずれ役に立つ時が来るかも・・・・しれません(‘ω’)

最後に一言

実は今週末、新しく購入したゲーミングチェアーとモニターが届くのですが、そのため金曜日が楽しみでしょうがないです。特に椅子は腰の痛みから解放させてくれることにとても期待しているので、早く届いてほしいです。腰が痛いです。

また、モニターも以前使っていたモニターが一枚お亡くなりになってしまったため、急遽古いモニターを引っ張り出して改めてデュアル環境にしています。しかし、型が古いので画面は小さい、目がチカチカするなど大変なので、目の健康や作業領域的にも早く届いてほしいなと願うばかりです。

PC環境の快適化はとっても楽しいですね!!!\(‘ω’)/

BLOGトップへ戻る