2016-12-02 9 views
0

私はデータベースに接続するSQLスクリプトを実行しています。これを@Beforeフックで実行しますが、これはしばらく時間がかかり、スクリプトを一度実行するだけです。テストは、テスト前にスクリプトを実行するデータテーブルを通過するときに実行されるように、永遠に実行されます。このスクリプトを一度実行するだけで、これを回避する方法はありますか?キュウリに@BeforeClassフックがありますか?

@Before ます。public voidセットアップは、()のIOException、のSQLException {

if (!clean){ 
     DatabaseConnection.getStatement(); 
     cleanUp(); 
    } 
+0

スタティックブールフラグを使用します。最初はfalseに設定します。フラグの値をBeforeにチェックインします。falseの場合、スクリプトを実行してフラグをtrueに設定します。次回はこれは実行されません。 – Grasshopper

+0

私はこれをお試しいただきありがとうございます。 – Peter

+0

すべてのシナリオでこのフックを実行する必要がない場合は、関連するタグをフックに追加してその範囲を制限する必要があります。 – Grasshopper

答えて

0

手バッタは良いアイデアであることを示唆しているとして、前の挙動を転がりをスローします。あなたの環境をより小さい、選言的な手順でセットアップできる日まで、問題を解決します。

私にとっては、大きなセットアップに頼るのは危険です。機能が異なる順序で実行されるとどうなりますか?彼らが実行命令に依存しないなら、それは素晴らしいことです。しかし、彼らはお互いに依存し、すべてが失敗したときまでそれを逃すリスクがあります。

+0

この例では、機能はお互いに依存しているわけではありません。 – Peter

関連する問題