2008年3月5日水曜日

NetBeans 6.0.1 で JDave を試す(1)

賛否両論のBDDですが、先日Java用BDDフレームワークJdave1.0がリリースされました
ところが、08/03/05現在、ScreenshotにはNetBeansのものがありません
ということで、NetBeansでJDaveを使ってみます
今回はexamplesとして提供されているもので説明します

まずはJDavaのサイトから必要なJarを取得します
サイト上部にある"Resources > Download" とクリックし、"jadave-parent-1.0.zip"というファイルをダウンロード、任意の場所に展開します
次にNetBean側でプロジェクトを作成します
メニューより「ファイル > 新規プロジェクト...」とクリックすると、新規プロジェクトダイアログが表示されます

その中の「Java > 既存のソースを使用する Java プロジェクト」を選択し、「次へ」をクリックします
次にプロジェクト名とプロジェクトフォルダを設定します

今回はプロジェクト名を"jdave-examples"とし、プロジェクトフォルダは既存の場所を使用しています
設定後、「次へ」をクリックします
既存のソースパッケージフォルダとテストパッケージフォルダを設定します

ここでは先に展開したフォルダを指定します
(ダウンロードフォルダを$DOWNLOAD_FOLDERとします)
ソースパッケージフォルダは"$DOWNLOAD_FOLDER/jdave-parent-1.0/jdave-examples/src/jdave-examples/src/java"、テストパッケージフォルダには"$DOWNLOAD_FOLDER/jdave-parent-1.0/jdave-examples/src/jdave-examples/src/test"を設定し、「次へ」をクリックします
最後に取り込んだパッケージに取り込む、または除外するファイルを選択するダイアログが表示されます

今回は特に何も設定せずに「完了」ボタンをクリックし、プロジェクトを作成します

プロジェクトは無事作成されますが、必要なライブラリが足りないのでエラーマークが表示されます

ライブラリの追加、削除を行い、エラーが出ない状態にします

まず、既存のJunitライブラリを削除します
ツリー中のテストライブラリにある JUnit 3.8.2 と JUnit 4.1 を削除します

次に先の展開したフォルダより必要な Jar を設定します
"$DOWNLOAD_FOLDER/jdave-parent-1.0/lib/"以下にある Jar を設定します
ライブラリフォルダには以下の Jar ファイルを設定します
※これで正しいか微妙です(間違っていたらお手数ですが、お知らせ下さい)
・log4j-1.2.13.jar
・slf4j-api-1.4.2.jar
・slf4j-log4j12-1.3.1.jar
・wicket-1.3.0.jar

テストライブラリフォルダには以下の Jar ファイルを設定します
※これで正しいか微妙です(間違っていたらお手数ですが、お知らせ下さい)
・cglib-nodep-2.1_3.jar
・hamacrest-core-1.1.jar
・hamacrest-library-1.1.jar
・jdave-core-1.0.jar
・jdave-examples-1.0.jar
・jdave-jemmy-1.0.jar
・jdave-junit4-1.0.jar
・jdave-wicket-1.0.jar
・jemmy-2.2.7.7.jar
・jmock-2.4.0.jar
・jmock-legacy-2.4.0.jar
・junit-dep-4.4.jar
・openjenesis-1.0.jar

ライブラリ、テストライブラリを設定すると以下のようになります

ツリーにはエラーマークが表示されなくなるかと思います
※まだエラーマークが表示されているとの事でしたら、再度設定を行って下さい

次はテストを実際に動かします

テストパッケージにある "jdave.examples" パッケージ内の "StackSpec.java" ファイルを選択し、右クリックで表示されるコンテキストメニューから「ファイルを実行」を選択し、テストを実行します

実行後、デフォルトでは画面下部に 「JUnit テスト」ウィンドウが開き、テスト結果が表示されます

すべてがグリーンとなるとテスト成功です

レッドとなる項目があるとその箇所がエラーとなります
そのままJUnitを使った結果と同じなのでわかりやすいかと思います

examplesを使った説明は以上ですが、今後実際にプログラムを使う際での例を紹介できればと思います

0 件のコメント: