2

過去にメモリ内データベースを使用してテストを作成しました。

私が知りたかったのは、Spring、JUnit、Java でメモリ DB を使用してテストを作成することが可能であり、データは各テストの後にロールバックされず、db に保持されるということでした。

基本的に、テストは互いに依存していますか?

何か案は?

4

2 に答える 2

1

テストは独立している必要があります。

しかし、必要に応じて @Rollback アノテーションを試すことができると思います。

試したことはありませんが、トランザクションの実行中にドキュメント仕様で見ました。

于 2013-03-20T09:43:07.240 に答える
1

データベースの変更をロールバックするかどうかはあなた次第です。

ただし、単体テストは互いに独立している必要があります。

この件に関する最近のDZone 記事からの小さな抜粋:

各テストを他のすべてのテストから独立させる

単体テスト ケースのチェーンを作成しないでください。テスト ケースの失敗の根本原因を特定できなくなり、コードをデバッグする必要があります。また、依存関係が生まれます。つまり、1 つのテスト ケースを変更する必要がある場合、複数のテスト ケースを不必要に変更する必要があります。

@Before および @After メソッドを使用して、すべてのテスト ケースの必要条件ごとにセットアップするようにしてください。@Before または @After で異なるテスト ケースをサポートするために複数のものが必要な場合は、新しい Test クラスを作成することを検討してください。

于 2013-03-20T09:41:36.053 に答える