Fight the Future

Java言語とJVM、そしてJavaエコシステム全般にまつわること

@TableAssertだと何がいいのか

僕の作っているTestNG + DbUnitライブラリでDBとのアサートをアノテーションで指定できるわけですけど。 @TableAssert(names = "dept", pathname = "insert_expected.xml") @SetUpOperation(pathname = "dept.xml", value = DatabaseOperationType.DELETE_AL…

JUnitは死なず

JUnitはTestNGよりも多く採用され拡張されているものの、TestNGの方が多くの機能を提供し、JUnit用のテスト(スクリプト)を実行することも可能なので、テスト・フレームワークとしてTestNGを選択する方が魅力的な選択に思えるようである。 InfoQ: JUnitは死な…

DbUnitライブラリ@TableAssertでDBとアサートできます

DbUnitNG プロジェクト日本語トップページ - SourceForge.JPで期待値のファイルとデータベースのテーブルをアサートするアノテーションを作りました。 @TableAssertです。 こんな感じ。 @TableAssert(names = "dept", pathname = "insert_expected.xml") @Se…

ひらめきは魔法じゃなく技術の蓄積だって

コレ読んでる。 イノベーションの神話作者: Scott Berkun,村上雅章出版社/メーカー: オライリー・ジャパン発売日: 2007/10/29メディア: 単行本購入: 15人 クリック: 177回この商品を含むブログ (64件) を見る まだ途中だけど、めっちゃおもしろい。 ひさびさ…

TestNG eclipseプラグインでのリスナークラス登録の続き

TestNGプラグインのリスナーより順序を前で自分のリスナーを登録したい - Fight the Future じゅくのblogで困っているわけだけど、 こりゃTestNGのソースを変えないと無理かもしれないなあ。 TestNGのeclipseプラグインはTestNGクラスではなくサブクラスのRe…

はてな記法からSourceForgeのWiki記法に変換する

自分で作ってるライブラリの使い方とかこうやってはてなに書いてるんだけど、 プロジェクトWikiにまとめるときに、はてなとSourceForgeのWikiの記法に違いがあって変換に手間がかかる。 すべてうまく変換できないけど、主要なものは変換するスクリプトを書い…

DbUnitライブラリで期待値nullはこう表します

<dataset> <DEPT DEPTNO="10" DNAME="[null]" LOC="NEW YORK"/> </dataset> [null]と記述すると、nullとして扱います。 AssertionHelperクラスを使ってアサートする場合です。 内部的にはReplacementDataSetを使っています。

DbUnitNG0.3リリース!

DbUnitNG プロジェクト日本語トップページ - SourceForge.JP 期待値ファイルからデータセットを作成する際に、ReplacementDataSetを使用するようにしました。 @SetupOperationにおいてテストスイート全体でデフォルトのでDatabaseOperationを設定できるよう…

後輩が「エンジニアの未来サミット」に行く

会社の後輩がエンジニアの未来サミットに行くと言ってきた。 素直にうれしい。 ついにそういう後輩ができたと思うとうれしくてたまらない。 仕事で行くわけじゃないので自費だ。 僕もデブサミに行ったとき、自費だった。 それでも、払った分は、いやそれ以上…

TestNG ML(英語)に投げてみた

TestNGプラグインのリスナーより順序を前で自分のリスナーを登録したい - Fight the Future じゅくのblogがどうしてもわからないので、 testng-users | Google Groups に投げてみた。 Hi, With TestNG eclipse plugin, I add my listener class. Then listen…

TestNGプラグインのリスナーより順序を前で自分のリスナーを登録したい

eclipseのTestNGプラグインを利用してデバッグ実行すると、 リスナーは以下の順で Listに入っていた。 [org.testng.remote.strprotocol.RemoteMessageSenderTestListener@50cf54, org.testng.reporters.TextReporter@5bc8c9, org.dbunitng.listeners.DbUnitN…

@TableAssertでアサートしたかったけど、失敗

誰か助けてください>< 期待値とDBのテーブルを比較するようなテストなら、アサートもアノテーションでできるようにしようと考えた。 こんな感じで。 @TableAssert(names = "dept", pathname = "insert_expected.xml", queries = "select dname, deptno, loc …

「失敗」への対策は「管理」じゃない

「失敗」を繰り返さないための対策は「管理」を強化することじゃない。 たとえば、プロジェクトにおいてあるメンバーのスケジュールが遅れていたことが後でわかった。 よくある対策としてはメンバーの進捗を「より」きちんと管理するという発想。 これが「管…

DbUnitで読み込むファイルの値にnullを設定する

DbUnitでは初期値や期待値をXMLやExcelに記述することができる。 ただ、nullを表現したいときは困ってしまう。 たとえばXMLで次のように記述したとする。 <dataset> <HUMAN NAME="jyukutyo" NULLCOLUMN="" /> </dataset> この場合、NULLCOLUMNはnullではなく空文字となる。 本当にそうなるかサンプルプログラムで読み込…

DbUnitでSQL文の結果をそのままデータセットにする

public static void main(String[] args) throws Exception { JdbcDatabaseTester tester = new JdbcDatabaseTester( "com.mysql.jdbc.Driver", "jdbc:mysql://127.0.0.1/testframework", "root", "root"); QueryDataSet dataSet = new QueryDataSet(tester.…