Grails test-app与grails test-app -integration的Grails差异

时间:2011-05-16 15:11:26

标签: grails integration-testing

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

我有一组测试将通过一个而不是另一个,但我似乎无法根据调用它的两种方式找到集成阶段的不同之处。

2 个答案:

答案 0 :(得分:3)

grails中的单元测试在没有设置环境的情况下运行。没有数据库;对象和gorm是模拟的,你需要做特定的事情来设置域对象进行测试。并且你不能做像测试基于hql的查询这样的事情(我认为这个特性可能会出现在更新版本的grails中)

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

这是一个大纲,没有看到测试和失败,很难说什么是错的。

答案 1 :(得分:2)

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

值得一试。