NetBeansでFEST-Swingを利用する その4 テストケースの更新
ここでは、現在のテストケースを更新し、新しい仕様を満たすことを確認するテストケースを作成する。
今回の変更点は以前述べたとおり速度情報の追加であるため、この点に絞ってテストケース作成を説明する。
準備
- 前回使用した、2008年7月時点のソースコード(TrlLogEditor_src2.zip)
現時点の仕様確認コード準備
- 起動時、テーブルが表示され、”行”,”保存”,”日時”,”緯度”,”経度”,”高度”列ラベルがこの順で表示される。
- 起動時、テーブルの内容は空である。
- trlファイルを開くと、テーブルに内容が表示される(空ではなくなる)。
上記のテストケースは以下のようになる。1つめのテストtestOpenでは1点目と2点目を、2つめのテストtestOpenFileでは3点目を確認している。実際のソースコードはこちら。
// import static org.fest.assertions.Assertions.*; // import static org.fest.swing.core.matcher.JButtonMatcher.withText; // import static org.junit.Assert.*; @Test public void testOpen() { assertEquals(0, table.columnIndexFor("行")); assertEquals(1, table.columnIndexFor("保存")); assertEquals(2, table.columnIndexFor("日時")); assertEquals(3, table.columnIndexFor("緯度")); assertEquals(4, table.columnIndexFor("経度")); assertEquals(5, table.columnIndexFor("高度")); assertEquals("起動時のテーブルは空", 0, table.rowCount()); } @Test public void testOpenFile() { final File file = new File("testdata/ver112.trl").getAbsoluteFile(); window.button(withText("開く...")).click(); JFileChooserFixture chooser = new JFileChooserFixture(robot); chooser.selectFile(file); chooser.approve(); assertThat(table.rowCount()).as("ファイルの内容が表示される").isGreaterThan(0); } }
新仕様対応確認テストケースの作成
こちらに記載したとおり、Holux M-241のファームウェアVer1.13では、速度情報が記録される。従って、更新後のプログラムの動作が次のようになればOKとする。
- 起動時、テーブルが表示され、”行”,”保存”,”日時”,”緯度”,”経度”,”高度”,”速度”列ラベルがこの順で表示される。
- 起動時、テーブルの内容は空である。
- trlファイルを開くと、テーブルに内容が表示される(空ではなくなる)。
- Ver1.12以前のファイルを開いた場合は、速度列は空欄とする。
太字部分が追加・更新した仕様である。
上記を満たせばOKとなるように、テストケースの差分は以下のようになる。ソースコードはこちら。
// import static org.fest.swing.data.TableCell.row; @Test public void testOpen() { ... assertEquals(6, table.columnIndexFor("速度")); ... } @Test public void testOpenFile() { ... final int colSpeed = table.columnIndexFor("速度"); table.cell(row(0).column(colSpeed)).requireValue(""); } }
これを実行すると、実プログラム修正を行っていない今の時点ではもちろん失敗する。
このような形でテストケースの作成し、テストケースに適合するように実プログラムを更新していく。
« 情報処理技術者試験の受験票を紛失したので再発行してもらう | トップページ | FEST-Swingを利用する(5) EDTで発生した例外をJUnitで検知する »
この記事へのコメントは終了しました。
トラックバック
この記事へのトラックバック一覧です: NetBeansでFEST-Swingを利用する その4 テストケースの更新:
» FEST-Swingを利用する(8) 視覚の威力 [雪羽の発火後忘失]
期間があいた割にネタが用意できていないので、今回は総集編、回想回です… 過去FEST-Swingに関して記述したエントリを以下に示します。 FESTを使用してJava GUI (Swing)のテストを実行してみる FEST-Swingの紹介。FEST-Swingの機能概要を、簡単なサンプルをもとにして実行してみます。 NetBeansでFEST-Swingを利用する その1 インストール 実際にF... [続きを読む]
« 情報処理技術者試験の受験票を紛失したので再発行してもらう | トップページ | FEST-Swingを利用する(5) EDTで発生した例外をJUnitで検知する »
コメント