2016-06-29 6 views
-1

私はのためのユニットテストを作成する必要があり、このサービスがあります。今JUnitテストの作成とIDを取得

  SomeObject obj = new SomeObject(); 

      String objConfig = "<root id=%id% param1="something">....</root>" 

      obj.setField1("value1"); 
      obj.setField2("value2"); 

      someObjectDao.create(obj); 

      Long objId = obj.getId(); 
      obj.setConfig(objConfig.replace("%id%", objId.toString())); 
      someObjectDao.update(obj); 

を、問題は実際のケースでは、DAOは、上のIDを割り当てます作成することですどのようにオブジェクトIDをユニットテストで設定するのですか?

答えて

0

次の2つの方法(あなたはJUnitの4を使用している場合)で行うことができます。

  1. 使用@Transactionalと@Rollbackなど実際のDAOとマークテストクラス。すべてのテストメソッドは別々のトランザクションで開かれ、レコードはデータベースに挿入され、実際のシステムと同じように処理されますが、メソッド終了ロールバックが発生します。

  2. mockito、someObjectDaoのmock create()メソッドを使用して、必要に応じてIDを設定します。

関連する問題