【发布时间】:2015-05-24 04:38:06
【问题描述】:
我想测试我的应用程序的存储层。存储层访问数据库并使用 JPA 将模型与数据库模式映射。
以用于可视化书籍的应用程序的存储层为例。该模型有两个实体:书籍和作者。一本书可以有一个或多个作者。存储层公开了列出书籍、作者或更复杂操作的方法,例如某个作者的所有书籍。
我正在尝试了解在存储层中测试的方式和内容。
数据库
- 我应该测试连接吗?
型号
- 我应该测试模型吗?
- 我应该测试模型中的 JPA 注释吗?例如书籍和作者之间的连接。
- 我是否应该测试模型是否与架构匹配?例如字段和表名称。
存储逻辑 (DAO)
- 我应该测试 DAO 吗?
- 我是否应该测试将 DAO 与 EntityManagerFactory 隔离开来?
存储层
- 是否应该进行包含 DAO、JPA 和 DB 的集成测试?
- 我应该使用测试数据库测试存储层逻辑吗?
- 如果我使用测试数据库,是否应该填充专门为测试创建的众所周知的数据,以便在我的测试中做出正确的断言?例如,测试如果我要作者 X 的所有书籍,我会得到所有书籍。
- 我应该测试像清单这样简单地将操作委托给 JPA 的方法吗?
欢迎提出其他问题和建议。
【问题讨论】:
标签: java database unit-testing jpa dao