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));
  }