2011-03-16 20 views
1

ここに私が直面している問題があります。私は、否定的なテストを通して、ソフトウェアのクエリ解析エンジンをテストすることを任されています。つまり、失敗する多数のクエリを作成し、それらが実際に失敗するかどうかをテストし、クエリの特定のエラーに対して予期されるエラーメッセージを表示する必要があります。これらはXMLファイルで定義されています。私は、XML文書の構文解析と、これらのテストケースのための構造体に似たクラスについて簡単なラッパーを作成しました。JUnit動的メソッドディスパッチ?

JUnitをテストフレームワークとして使用しているので、私はこの問題に取り組んでいます。これらの外部定義テストのすべてを実行する行為は、単一の方法で実行されます。単一のテストが失敗すると、それ以上は実行されません。私が遭遇したとき、それぞれのテストを処理するメソッドを動的にディスパッチする方法はありますか?このようにして、テストが失敗した場合でも、残りのテストを実行しながら、失敗したことと失敗しなかったことに関するレポートを取得できます。

もう1つの方法はもちろん、すべてのJUnitテストを作成することです。私はこれを避けたいと思っています。その一つは実行するテストの数が非常に多く、テストケースが99%の定型コードです。

ありがとうございました。

+0

生成コード;)hehe – ThomasRS

答えて

1

JUnitのパラメータ付き注釈を調べる必要があります。

+0

私はそれを誤解していない限り、私はまだ一回のテストごとにメソッドを書く必要があります。そうじゃないの? – rybosome

+0

私のポストはあまりにも急だった - 私は@ Paramaterizedを誤解した。私は、これが私がしようとしていることを達成することができると思う。助けてくれてありがとう! – rybosome

0

私が正しく理解している場合、入力データと期待される結果はすべてXMLで定義されているため、各テストケースを処理するための特定のコードは必要ありません。

JUnit4を使用する場合は、独自のランナー実装を作成できます。 Runnerを直接実装することも、ParentRunnerを拡張することもできます。実装する必要があるのは、テストの説明を返すメソッドと、テストを実行する別のメソッドです。

関連する問題