Мне нужно определить, находится ли мое приложение Grails в настоящее время. Я не могу использовать if (Environment.getCurrent() == Environment.TEST)
, потому что моя текущая среда Environment.CUSTOM
с именем jenkins. Есть ли другой способ узнать, тестируется ли он в настоящее время?Как определить, тестируется ли приложение Grails?
0
A
ответ
2
Один из подходов, которые я использовал, - это установить переменную окружения, подключившись к событию GANT eventTestPhaseStart
. Вы можете сделать это, создав сценарий с именем Events.groovy
в /scripts
.
<project dir>/scripts/Events.groovy
:
eventTestPhaseStart = { args ->
System.properties['grails.testPhase'] = args
}
Вы можете использовать его как можно так определить, является ли приложение на стадии тестирования:
if (System.properties['grails.testPhase'] != null)
println "I'm testing!"
Вы также можете использовать его, чтобы иметь определенное поведение для конкретной тестовой фазы:
if (System.properties['grails.testPhase'] == 'integration')
println "Do something only when running integration tests."
Спасибо, это подход, который я искал. Я надеялся, что есть что-то уже встроенное. –