世界一簡単なHudson-Trac連携法
こんな具合で,HudsonのテストトレンドをTracに貼る。
ただそれだけ。
{{{ #!html <h3>テスト結果の傾向</h3> <a href="http://example.com:8080/hudson/job/sample-job/"> <img src="http://example.com:8080/hudson/job/sample-job/test/trend"> </a> }}}
ドメイン駆動
ウチの会社も,SWEBOKのバッタモン配るくらいなら,これ配ればいいのに。
id:matarilloが書評書いてくれる事を期待してる。:-P
ドメイン駆動 (Programmer’s SELECTION)
- 作者: Jimmy Nilsson,尾島良司,株式会社ロングテール長尾高弘
- 出版社/メーカー: 翔泳社
- 発売日: 2008/03/20
- メディア: 大型本
- 購入: 8人 クリック: 237回
- この商品を含むブログ (33件) を見る
DbUnitの期待値ってレコードが空のテーブルはカラム情報も読み込まないのね
ということを今さらながら知りました。
なるほど,
Assertion.assertEquals(expectTable,
new CompositeTable(expectTable.getTableMetaData(), actualTable));
とやって,actualの評価を緩やかにしていたから気付かなかったのね。
#actualTableをCompositeTableにくるむと,expectTableにあるカラムだけ評価される。
#CompositeTableにくるまないと,expectとactualは完全一致しないとダメ。
こりゃ参ったな。と思ったけど「実は空テーブルです」的なマークを期待値に埋め込むようにして,独自assertionメソッド作りゃ解決だよねってことで,こんな風にした。
スペック
データ行の1行目のカラム(どこでもいい)に"***EMPTY***"ってあれば,そのテーブルは空って意味とする。
DbUnit - Assertion.assertEquals()の"Verify row count"の直前にこんなコード埋めておしまい。
if (expectedTable.getRowCount() > 0) { for (int i = 0; i < expectedColumns.length; i++) { Column expectedColumn = expectedColumns[i]; String columnName = expectedColumn.getColumnName(); Object expectedValue = expectedTable.getValue(0, columnName); if (expectedValue.toString().equlas("***EMPTY***")) { // 空テーブルなので,ここまで評価すれば十分 return; } }
相変わらず,雑なパッチだ。:-D