1

Junit には、 @beforeclass 、 @before アノテーションがあることを知っています。アノテーションまたは設計はありますか? テスト プロセス全体の前に 1 回だけ実行するメソッドを記述できますか?

テスト用にいくつかのデータベース データ (構成、静的、ルックアップ テーブルなど) をセットアップするスクリプトがありますが、個々のテストの前に実行するにはコストがかかりすぎるため、テスト前に一度だけ設定したいと考えています。テストの実行を開始します。

ありがとう!

4

2 に答える 2

3

で質問にタグを付けたので、次のようにします。フェーズをmaven使用して、この 1 回限りの高価なスクリプトを実行できます(対称的に、でクリーンアップします)。pre-integration-testpost-integration-test

これには exec-maven-plugin を使用できます。

<plugin>
  <groupId>org.codehaus.mojo</groupId>
  <artifactId>exec-maven-plugin</artifactId>
  <version>...</version>
  <executions>
    <execution>
      <id>some-execution</id>
      <phase>pre-integration-test</phase>
      <goals>
        <goal>exec</goal>
      </goals>
    </execution>
  </executions>
  <configuration>
    <executable><!-- runnable command or file name here --></executable>
  </configuration>
</plugin> 

JUnit にはこの種の注釈はありません。JUnit は環境について何の想定もしていないためです。JUnit の目標は、一度に 1 つのクラスを分離した方法でテストすることです。

于 2012-09-24T16:11:50.267 に答える
1

DBUnitはまさにあなたが探しているものを提供します。JUnit 拡張のみです。

  • Clean_Insert のような setUp 操作オプションがあります。これは、データベースが消去され、必要なデータが自動的に挿入されることを意味します。および更新、更新、挿入などの他の多くの
  • イベントは簡単です - Dbunit を使用するために、DBTestCase クラスを拡張する必要はありません。標準のJUnit setUp()メソッドをオーバーライドして、データベースで必要な操作を実行できます。
  • データベース構成操作
  • データセットの多くのオプション - フラット、xml、データベース、ストリーミング
于 2012-09-24T15:49:17.407 に答える