我有一些 Roo 生成的实体,带有动态查找器。
我正在尝试对一个类进行单元测试,该类基本上从数据库中的不同表加载一些数据,运行一些计算,然后输出由这些计算结果组成的结构化对象,我想模拟持久层,以便能够在没有数据库的情况下运行测试(例如在 Jenkins 上)。
但是,我找不到一个简单的解决方案来执行此操作:我尝试添加 @MockStaticEntityMethods
,但是 Roo 创建的查找器的静态方法返回 TypedQuery
而不是实际实体,所以我无法将模拟对象传递给 AnnotationDrivenStaticEntityMockingControl.expectReturn
。
我也尝试过使用 Mockito 和 Powermock,但我似乎仍然无法解决静态查找器方法返回 TypedQuery
而不是真实实体的问题。
那么模拟 Roo 生成的发现者的标准方法是什么?
最佳答案
您是否尝试过创建 TypedQuery 的模拟并将其设置为返回您的模拟。
此外,这不是您问题的完全答案,但您是否考虑过使用 HSQL 之类的东西进行集成测试?
关于java - 模拟使用 Roo 生成的持久层,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12583978/