2017-08-29 25 views
1

にフリーズAssertJ-DBは、私は、次の統合テストを持って春ブーツ統合テスト

changes.setStartPointNow(); 

Iテストはフリーでorg.assertj.db.type.Changes#setStartPointNowt.getRowsList();行にあると分かりましたが、解決方法はわかりません。

@Transactional注釈を削除すると、すべて正常に動作し、何も凍結することはありませんが、テストが正しく機能しません。

@Transactional注釈を保存してこの問題を解決する方法はありますか?

答えて

0

てみてください:

@Test 
public void test() { 
    Changes changes = new Changes(new Table(datasource, "SOME_TABLE")).setStartPointNow(); 

    service.doSomething(); 

    changes.setEndPointNow(); 
    // assert database changes with changes object 
} 
+0

問題は引き続き発生しますが、アプローチの主な変更点は何ですか? –

0

は、私の場合は問題が大きなテーブルでした。私は10000行以上のテーブルの変更を見ていました。

変化=新しい変更(新しい表(ソース、 "big_tableを"))を変更setStartPointNow()。私はそれを変更し

要求request1 =新しいRequest(ソース、 "some_columnがnullですbig_table SELECT * FROM");

SQLは100行未満を返します。

変更が早く始まります。変更がテーブル時間で見ていたときは17-25秒でした。リクエストは0.2秒未満です。