Fight the Future

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

2008-08-05から1日間の記事一覧

J2SE5.0から導入されたConcurrentHashMapクラス

複数のスレッドからアクセスされるMapコレクションには、同期HashMapオブジェクトではなく、ConcurrentHashMapオブジェクトを使うべきだと言える。 [http://www.itarchitect.jp/technology_and_programming/-/24161-1.html:title=J2SE 5.0の新機能──第8回 並…

BeanのListとDbUnitのDataSetを比較する方法を考える

DbUnitの弱点はBeanのListとDataSetを比較できないことから考えて、実際に比較する方法を考えようと思う。 方法は2つある。 BeanのListをIDataSet実装オブジェクトに変換する DataSetから比較するBeanのListに変換する 2の方法だと、プリミティブなプロパテ…

DbUnitの弱点はBeanのListとDataSetを比較できないこと

DbUnitを使うにあたって一番問題になることは、Daoから取得したJava BeansのListとExcelの期待値を比較できないことだ。 Excel(XML)の期待値はDbUnitではDataSetとして表す。 だけど、DbUnitのAssertクラスであるorg.dbunit.AssertionクラスではDataSet同士…

eclipseでのJavadoc生成

Project -> Generate Javadoc. アノテーションがある場合はいきなりfinishしても生成できない。ウィザードの最後でJREのバージョンを変える必要がある。

TestNGとJUnit4のもっとも大きな違い

TestNGとJUnit4のもっとも大きな違いはテストクラスのインスタンス生成だ。 あるテストクラスに複数のテストメソッドがあるとき、2つのフレームワークはこう振る舞う。 TestNGは(基本的に)テストクラスのインスタンスは1つしか作らない JUnit4はテストメソッ…

DbUnitでDatabaseOperation.DELETEするときのXML

<dataset> <DEPT /> <EMP /> </dataset> のようにテーブルを要素名にしてを列挙するだけでよい。 逆にデータを登録するときにはカラムの値を属性にする必要がある。 <dataset> <DEPT DEPTNO="10" DNAME="ACCOUNTING" LOC="NEW YORK"/> </dept></dataset>

テストをSkipするときはITestListener#onTestStart()は呼び出されない

ITestListenerインタフェースのonTestStartメソッドは、 「Invoked each time before a test will be invoked.」なので(特にwill be invokedに注目)、 dependsOnXXX属性を使っていてテストがSkipされるときはonTestStart()メソッドは呼び出されない。