DbUnit + JNDIUnitTestHelperで単体試験

こんにちは、中村です。

DbUnit+JNDIUnitTestHelperで単体試験を実施する機会がありましたので、紹介したいと思います。

DbUnitとは、DB処理の単体試験を実施するためのフレームワークです。
※今回は、DbUnitの「テスト実施前のDBの保持」、「一時的なテストデータの挿入」機能のみを紹介します。DbUnitには、紹介する機能の他にDBデータをオブジェクト化し、比較する機能など多くの機能を持っていますが、これらの機能については触れません。

また、今回使用するDbUnitのバージョンは2.4.7です。
2.4.8で使い方が異なるクラスがあるようですので、バージョンに注意してください。

加えて今回はJNDIUnitTestHelperを利用してDBアクセスを行います。
JNDIUnitTestHelperを利用することで、DBへの接続情報(データソース)を外部ファイルから取得することができるため、DBアクセスにAPサーバに設定されたデータソースを参照している場合、APサーバにアクセスすることなくDB処理の単体試験を実施することができます。

続きを読む

MiniTemplatorを利用してExcelの表をHTMLに出力する

本記事では、ExcelでのMinitemplatorの導入及び利用方法を、簡単なサンプルを通してご紹介します。

MiniTemplatorとはVBA(Java、PHPにも対応)で使えるテンプレートエンジンのことです。
テンプレートエンジンとは、テンプレートと入力データから出力ファイルを合成するコンポーネントのことです。
あらかじめテンプレートファイルと呼ばれる出力の雛形を用意しておきます。
テンプレートエンジンはテンプレートファイルのプレースホルダー(入力値によって値が変わる部分)に入力データを埋め込んで成果ドキュメントを作成します。

MiniTemplatorの場合、HTMLテンプレートを用意しておき、
ブロック単位でプレースホルダーを記述します。
VBA内で入力データを読み込み、プレースホルダーの設定や埋め込むブロックの追加をすることで、
表データなどの自動生成が簡単に行えるようになります。

続きを読む

SeamのjBPMコンポーネントを使うと、例外発生時にjBPMのデータがロールバックされない

JBoss SeamにはjBPMの利用を支援するコンポーネントが同梱されていますが、アプリケーション側で例外が発生したり、jBPM側(プロセス定義中の各種ハンドラなど)で例外が発生した際に、jBPMのデータがコミットされてしまう不具合があります。

この不具合のバグレポートが挙がっていますが、まだ解決されていないようです。

未解決のバグレポート
https://jira.jboss.org/browse/JBSEAM-4512

上記のバグレポートによればSeam 2.2.0.GAで発生するようですが、手元の2.1.2でも同様の問題が確認できました。

続きを読む

【解決】Relay――アップロードができない件

【Relayとは】

ファイル管理機能を提供するWebアプリケーションです。
管理対象のファイルはサーバ側で管理されます。ブラウザを使い、複数の利用者でそれらのファイルを共有できます。認証機能があり、各利用者の権限設定も可能です。
続きを読む