Выборочная инициализация в режиме тестирования / разработки в Grails - PullRequest
6 голосов
/ 15 декабря 2010

Я хочу запустить определенную регистрацию в классе BootStrap в зависимости от того, какой режим разработки или в данный момент используется.

Как я могу это сделать?

Ответы [ 3 ]

14 голосов
/ 15 декабря 2010

С документация :

class Bootstrap {
    def init = { ServletContext ctx ->
        environments {
            production {
                // prod initialization
            }
            test {
                // test initialization
            }
            development {
                // dev initialization
            }
        }
    }
    ...
}
6 голосов
/ 15 декабря 2010
import grails.util.Environment

class BootStrap {

    def init = { servletContext ->

        def currentEnv = Environment.current

        if (currentEnv == Environment.DEVELOPMENT) {
            // do custom init for dev here

        } else if (currentEnv == Environment.TEST) {
            // do custom init for test here

        } else if (currentEnv == Environment.PRODUCTION) {
            // do custom init for prod here
        }
     }

     def destroy = {
     }
}
0 голосов
/ 15 декабря 2010

из официальных документов

Обнаружение программной среды

В вашем коде, например в скрипте Gant или в классе начальной загрузки, вы можете обнаружить среду с помощью класса GrailsUtil:

import grails.util.GrailsUtil
...
switch(GrailsUtil.environment) {
    case "development":
       configureForDevelopment()
    break
    case "production":
       configureForProduction()
    break
...