Grails Difference in grails test-app vs grails test-app -int



在通过grails test-app与grails test-app -integration运行grails测试的集成阶段有什么区别

我有一组测试,可以在一个测试下通过,但不能通过另一个测试,但我似乎无法根据两种调用方式在集成阶段找到不同之处。

grails 中的单元测试在没有设置环境的情况下运行。 没有数据库;对象和 gorm 被模拟,您需要执行特定操作来设置域对象以进行测试。 而且你不能做一些事情,比如测试基于hql的查询(我认为该功能可能会出现在新版本的grails中)

集成测试完全不同。 引导代码运行,所有数据库调用都转到实际正在运行的数据库(如果您希望它不同,可以在数据源中配置该数据库)。 如果从集成测试调用服务方法,它将转到数据库,包括事务和其他所有内容。 此外,还会运行 Spring Bean 自动布线/依赖注入步骤,因此您的所有服务都已完全连接并准备就绪。

这是一个大致的轮廓,没有看到测试和失败,很难说出了什么问题。

我遇到了类似的问题。我不知道为什么,但是集成测试的顺序不同。这会导致在设置/拆卸期间出错。基本上一次拆解有一些问题,并没有删除在 set Up 中创建的所有对象。这会导致下一个测试出错。

值得检查。

最新更新