我正在升级Grails 2.4.4应用程序,一些单元测试使用依赖于{DomainObject}.save(validate: false)
的数据库交互(以避免创建所有域对象所需的关联(。在某些情况下,重写测试是不可能的。
单独实现ServiceUnitTest
不允许我调用mockDomain
,因为ServiceUnitTest
不实现DataTest
,所以我也实现了DataTest
。
我的问题是:
-
短期:在同一规范上实现
ServiceUnitTest
和DataTest
是否存在任何可预见的问题 - 长期:将服务和控制器中的动态查找器和标准查询替换为对GORM数据服务的调用,这通常是最佳实践吗?这些数据服务看起来可以使用约定的Spock mocking进行模拟
实现ServiceUnitTest是否存在任何可预见的问题和DataTest在同一规格上?
否。我们设计了这样的特质来协同工作。
是替换动态查找器和标准的一般最佳实践服务和控制器中的查询以及对GORM数据的调用服务,看起来它们可以使用约定Spock进行嘲笑嘲笑?
是。大多数动态查找器和条件查询更适合作为GORM数据服务实例来实现。