Junit には、 @beforeclass 、 @before アノテーションがあることを知っています。アノテーションまたは設計はありますか? テスト プロセス全体の前に 1 回だけ実行するメソッドを記述できますか?
テスト用にいくつかのデータベース データ (構成、静的、ルックアップ テーブルなど) をセットアップするスクリプトがありますが、個々のテストの前に実行するにはコストがかかりすぎるため、テスト前に一度だけ設定したいと考えています。テストの実行を開始します。
ありがとう!
Junit には、 @beforeclass 、 @before アノテーションがあることを知っています。アノテーションまたは設計はありますか? テスト プロセス全体の前に 1 回だけ実行するメソッドを記述できますか?
テスト用にいくつかのデータベース データ (構成、静的、ルックアップ テーブルなど) をセットアップするスクリプトがありますが、個々のテストの前に実行するにはコストがかかりすぎるため、テスト前に一度だけ設定したいと考えています。テストの実行を開始します。
ありがとう!
で質問にタグを付けたので、次のようにします。フェーズをmaven
使用して、この 1 回限りの高価なスクリプトを実行できます(対称的に、でクリーンアップします)。pre-integration-test
post-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 つのクラスを分離した方法でテストすることです。
DBUnitはまさにあなたが探しているものを提供します。JUnit 拡張のみです。