バージョンが維持されているかどうかを確認するためにJUnitを作成します(イベントで)。JUnitを使用して行ったことは次のとおりです。
@Test
Public void testAudit() {
try {
//create Dao code
dao.save(); //This will create entry in AUD- and REVINFO-tables perfectly
SomeObject obj = SomeHelper.getAuditData(dao));
/*Method to be tested which generates audit message using envers i.e(dao created)*/
//Some logic to check if output is as expected
}
catch(Exception e) {
Assert.fail();
}
finally {
dao.delete(); //delete the data saved by JUnit (Problem starts here )
}
}
dao の削除を呼び出すと、
UnsupportedOperationException: 読み取り専用オブジェクトに書き込めません
キャッシュにはEhcacheを使用しています。CacheConcurrencyStrategy
問題をグーグルで調べたところ、削除したいドメインオブジェクトの設定が間違っていることが原因である可能性があることがわかりました。私がチェックしました。
ドメイン オブジェクトには がありませんでしCacheConcurrencyStrategy
た。しかし、ネストされたオブジェクトは次のようにCacheConcurrencyStrategy
設定されていましたREAD_WRITE
(これが本当の犯人かもしれません)。
しかし、既存のドメインと既存のコードを変更したくありません。CacheConcurrencyStrategy
JUnitをバイパスする方法はありますか? そうでない場合、既存のコードを変更せずに解決する方法はありますか?