我为Spring应用程序编写集成测试。覆盖生成的ID
对于测试我使用Spock框架。
问题是我想在每次测试之前保存2个对象,我想在每次测试后删除所有对象。
当我调用测试方法findById
为id 1和2我得到这些对象。 但是当我再次findById
测试呼吁ID 1和2我取得编号为3和4的对象
休眠策略ID我用的是:
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
,问题是我怎么能测试或者我如何强制hibernate不创建新的标识符?
是的,我的设置看起来像这样,但我使用@Before – user
好吧......但您确实有保存的实体,并且您确实拥有该ID。那么问题是什么? –
当第一次测试运行时,我有db 2对象与id 1和2.如果我为1和2调用findById我得到成功测试,因为在这个时间在db中的实体具有这些id。但是,当下一次测试运行在分贝我有2个对象,但与id 3和4,测试失败。 – user