我创建了一个实体,其中包括一个private int id;
字段。现在,我想编写一个单元测试,它只是确认它已添加到持久性上下文中并且它有一个 id。但是我应该检查什么?该字段默认初始化为 0,并且由于我不使用包装类 Integer(我不会),我不知道如何确认它。
问问题
100 次
2 回答
0
而不是entityManager.persist(entity)
您可以使用entityManager.merge(entity)
which 返回已保存的对象。您可以从返回的对象中获取 id 并检查您想要的任何内容。
于 2012-10-27T13:47:45.380 回答
0
该测试不会是单元测试,因为您想确保有人在调用setId()
您的实体。在这种情况下,单元测试将验证是否entityManager.persist(myEntity)
调用了 mocked entityManager
。
据我了解,您希望对此进行集成测试。试试Arquillian,一个相当不错的集成测试框架。它可以在 JUnit 框架中使用。您可以将 EJB 和模拟注入EntityManager
到您的 JUnit 中,它维护一个内存数据库,您可以针对该数据库运行 JPA 查询。
于 2012-10-27T13:34:51.647 回答