おしりんブログ

新人PGおしりんの色々まとめるよブログ

テストの実施・QuickJUnitについてのまとめ

テストの実施・QuickJUnitについてのまとめ


・なぜテストをする必要があるのか
 ・人は必ず過ちをおかすから
 ・全てのプログラムは妄想で、実際に動いてこそ価値のあるものだから


・テスト実施にあたって使用したツール
 ・QuickJUnit
  JUnitによるテストコードの作成と実装を支援するEclipseプラグイン
  このプラグインを使用してテストクラスを作成した場合、
  Javaリソース/src/testの中に自動生成される
  
  テストの作成は、テスト対象クラスのクラス宣言行で「ctrl+9」で
  テストクラスを自動生成してくれる

 ・Mockito(紹介のみ)
  ミドルウェアや外部システムを利用するクラスの
  テストケースの作成を効率的に行うことができる


・テストについて
 ・メソッド一つ一つがテストにあたる
 ・メソッド内に一つifがあれば、2パターンのテストが必要になる


・テストクラスを作成するにあたっての注意点
 ・メソッド名は、テストの内容を一目でわかるような名前にする
  例 メールを送る()


 ・テストを記述するにあたって記述すべきコメント
  ・given:状態
  ・when:手段
  ・then:結果

 例@Test
   public void メールを送る(){

   // given(状態)
   // sut→テスト対象のオブジェクト推奨名
   MailService sut = new MailService();
   // when(手段)
   // actual→検証対象推奨名
   String actual = sut.sendAuthMail();
   // then(結果)
   assertThat(actual(検証対象), mathcer(is("OK")))
   }


・Sample

【テストをすべきメソッド
 public String sendAuthMail(String to){

  if("shiori_nishijima@kronos-jp.net".equals(to)){
   return "NG";
  }
  return "OK";
 }


【テストメソッド
 @Test
 public void 宛先がshiori_nishijima@kronos-jp.net以外であればメールを送る(){

  // given
  MailService sut = new MailService();
  String to = "hitomi_tashiro@kronos-jp.net";
  // when
  String actual = sut.sendAuthMail(to);
  // then
  assertThat(actual, mathcer(is("OK")));
 }


 @Test
 puvblic void 宛先がshiori_nishijima@kronos-jp.netであればNGとする(){

  // given
  MailService sut = new MailService();
  String to = "shiori_nishijima@kronos-jp.net";
  // when
  String actual = sut.sendAuthMail(to);
  // then
  assertThat(actual, mathcer(is("NG")));
 }
 
 ・mather(is(""))の部分をexpected変数の中に入れることもある
 
 
今の知識はこんな感じかな~