TDD使用数据存储库设计服务

时间:2015-12-24 16:37:06

标签: spring unit-testing jpa interface tdd

您如何设计一个服务类,可能会在TDD下面使用数据存储库?例如,如果我们要定义一个接口UserStorageService和UserStorageService#save(用户用户)实现,通过jpa存储库接口将用户保存到某个数据库?我是否应该模拟特定的save或saveAndFlush或类似的JpaReposiotory的方法,如果我甚至不知道我将实际调用哪一个?

1 个答案:

答案 0 :(得分:0)

使用Spring的测试支持,而不是模仿savesaveAndFlush。然后使用@Transactional注释您的测试,Spring将使用您的测试用例启动事务,并在测试用例完成时将其作用回来。 (当然,您不得在测试调用的代码中启动新的Transation(例如使用propgation=NEW)。

@See Spring Reference Chapter 14.5.6 Transaction management (Test)