ReporterとListener

出来事

・テスト自動化ツールを改善した

 

特記事項

・成功/失敗したテストケースの判別

 キーワード駆動テスト特有の課題である。

 TestNGのテストランナーが同一のテストメソッドを実行するように実装している。(少なくとも私のツールの場合は)この為、テストケースを複数回実行するとどれが成功/失敗したのかがレポートでは分からなくなる。

 この対策としてTestNGには、レポート機能を利用する。

 

・ReporterとListener

 Reporterは@Testを付加したメソッド内で有効になる機能である。

 @Test内で実装すると、「Reporter Output」をクリックしたときに右側に表示される「Reporter output for テストスイート」に@Testを付加したメソッドとReporter.log(String hogehoge)のhogehogeを出力することが出来る。

f:id:jugemix:20160613055009p:plain

 テストケース名の重複を許さないような実装にしておけば、どのテストケースが失敗したかはすぐに特定できるようになる。

 Listenerに関しても同様のことが出来る。テスト起動時や終了時等、イベントを拾うメソッドをオーバーライドして利用する。

 

・ツールの設計の必要性

 レポート機能は私がTestNGを使い始めたきっかけでもある。こんなところで生きてくるとは思わなかった。

 どのようなツールが必要で、そのツールを構成するにはどんな要素が必要か、考える必要があると思う。

 今回のツールの目的はマスタ登録後の登録ミスを検知する為のものである。

 この流れの中で登場する人物は以下の通り

   マスタを登録・修正する人

   テスト設計する人

   テスト実装する人

   テスト実行する人

   テスト結果を検査する人

 

 ビューとパースペクティブを使い、アーキテクチャ定義をまとめてみたい。