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


  • 单元测试不需要数据库
  • 集成和功能测试可以有不同的固定装置和引导数据
  • 最好将应用程序本身和Selenium测试机器人的功能测试分开

那么,有什么理由把所有测试阶段都放在一个环境中吗?

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

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

没有什么可以阻止您定义自定义环境并对其运行特定命令。您还可以使用Environment类根据您的env创建SpringBeans并配置数据库访问。

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

最新更新