0

Java Web アプリケーションのテスト スーツを作成したいと考えています。JDBC 接続を備えた JSP アプリケーションです。私の要件は次のとおりです。

1 - モデルを通じてデータベース ロジック (クエリなど) をテストできるはずです。

2 - .jsp ページもテストできれば最高です (可能であれば)。

いくつかの調査を行った後、DBUnit はデータベース バックエンド システムのテストに適していることがわかりましたが、残念ながらスターターとして適切なリソースを見つけることができませんでした。

私が持っているテストオプションについてどう思いますか?リソース/例へのリンクも投稿できれば幸いです

編集:

モック オブジェクト (JMock など) に遭遇しましたが、DBUnit の代わりとして使用できるのでしょうか?

前もって感謝します

乾杯

同時代

4

3 に答える 3

1

最初の質問については、この StackOverFlow スレッドをご覧ください...

2番目に、私はCactusまたはSeleniumの Chry の提案に行きます。

それが役立つことを願っています。

于 2011-04-12T06:54:51.113 に答える
1

統合テスト (フロント エンド + バック エンド) またはデータベース レイヤーに対して単体テストを実行するかどうかは、あなたの質問からは明らかではありません。

統合テストを作成できるツールが必要な場合は、間違いなくSeleniumを検討する必要があります。Selenium を使用すると、Web サイト (JSP ページ) をナビゲートし、ページ上の要素が存在するか、またはいくつかの値と等しいことをアサートするだけで、機能テストを生成できます。

Selenium には、基本的にコードを生成するFirefox プラグインが付属しています。ブラウザでテストを再生するか、Java コードとしてエクスポートして、テスト スイートの一部にすることができます。Selenium は非常に貴重なツールです。

Selenium のようなツールを使用することの欠点は、テスト スイートを実行する前にアプリケーションをどこかにデプロイする必要があることです。Selenium を使用して生成された自動テストを実行する予定がある場合、これが制限になる可能性があります。

データベース アクセス コード (DAO、データ アクセス層) のテストのみに関心がある場合は、DBUnit が最適なツールです。通常、DBUnit は、テスト前にデータベース テーブルを初期化するために使用されますが、それほど頻繁ではありませんが、データベース コンテンツに対してアサーションを実行するために使用されます。DBUnit は XML ベースの形式を使用して、データベースに挿入されるデータを表します。

データベースに事前入力するデータを含む XML ファイルは、通常、ビルド スクリプト (Ant、Maven など) によって、または単体テスト コードで直接トリガーされます。私は両方のアプローチを使用しましたが、コードの構造とデータベースへのアクセス方法 (Hibernate、Spring + Hibernate、JDBC...) に大きく依存します。

データベースがそれほど大きくない場合は、テスト スイートを実行する直前にデータを入力することをお勧めします。または、すべてのテストの前に、テストに関心のあるテーブルのみを入力することもできます。

これは、データベースのテスト戦略を簡素化するために DBUnit の上で使用できる追加のライブラリです。始めるためのリファレンスとして使用できると思います: http://www.unitils.org/tutorial.html#Database_testing

DBUnit の基本的な仕組みを示す別のリンク (かなり古い、2004 年) を次に示します。

http://onjava.com/pub/a/onjava/2004/01/21/dbunit.html

于 2011-04-12T06:43:15.943 に答える
1

DBUnit の公式の入門記事はこちらで役に立ちました。Re: データベース ロジックのテスト、これもチェックしてみてください。

JSP テストに関しては、私はCactusを使用して以前にサーブレットをテストし、成功しました。ただし、JSP テスト機能についてはわかりません。

于 2011-04-12T05:10:24.460 に答える