为什么Grails单元,集成和功能测试阶段没有自己的环境?

时间:2013-08-15 11:39:53

标签: grails

  • 单元测试不需要数据库。
  • 集成和功能测试可以有不同的固定装置和引导数据。
  • 在应用程序本身和Selenium测试机器人上分离功能测试也会更好。

那么,有没有理由在一个环境中保持所有测试阶段?

1 个答案:

答案 0 :(得分:1)

我想这只是一个惯例,因为:

  • 单元测试的设置配置内存数据库以允许您使用GORM方法。
  • 只有在运行集成测试时才会初始化您的数据库。
  • 功能测试被视为扩展,并且根据您的项目,它们不是强制性的(例如:不依赖于UI的插件项目)。

您无法定义custom environmentsrun specific commands to them。您还可以使用Environment class创建Spring Beans并根据您的环境配置数据库访问。

if(Environment.current == Environment.DEVELOPMENT) {
  ...
}