S2EJB3Unit(S2Unit)を使ったエンティティの一括登録の検証について その2
id:taedium:20060525#p1 で書いたものをちょっと変えてこんな感じはどうでしょう(あくまでイメージでtrunkのソースには反映してないです)?id:da-yoshiさん。
検証内容は同じです。相違点は
- EntityManagerのflushはテストメソッドで行わなくてよい
- readDbBySqlメソッドのかわりにreadDbメソッドを使ってすっきり。(readDbは新規に作成する予定のメソッド)
- assertEqualsはDataTableの比較でなくDataSetの比較ですっきり。
@Rollback public void testInsertEmployee() { readXlsReplaceDb("insertEmployeePrepare.xls"); DataSet expected = readXls("insertEmployeeResult.xls"); EntityManager em = getEntityManager(); Address address1 = em.find(Address.class, new Long(1)); Address address2 = em.find(Address.class, new Long(2)); Address address3 = em.find(Address.class, new Long(3)); Department dept1 = em.find(Department.class, new Long(1)); Department dept2 = em.find(Department.class, new Long(2)); Employee emp1 = new Employee("A", 1000, address1, dept1); Employee emp2 = new Employee("B", 2000, address2, dept2); Employee emp3 = new Employee("C", 3000, address3, dept2); em.persist(emp1); em.persist(emp2); em.persist(emp3); assertEquals("0", expected, readDb(expected)); }