0
我需要確定我的Grails應用程序當前是否正在測試。我無法使用if (Environment.getCurrent() == Environment.TEST)
,因爲我當前的環境是Environment.CUSTOM
,名稱爲jenkins。是否有其他方法可以確定它是否正在測試中?如何確定Grails應用程序是否正在測試?
我需要確定我的Grails應用程序當前是否正在測試。我無法使用if (Environment.getCurrent() == Environment.TEST)
,因爲我當前的環境是Environment.CUSTOM
,名稱爲jenkins。是否有其他方法可以確定它是否正在測試中?如何確定Grails應用程序是否正在測試?
我使用的一種方法是通過掛接到GANT事件eventTestPhaseStart
來設置環境變量。您可以通過在/scripts
中創建名爲Events.groovy
的腳本來執行此操作。
<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."
謝謝,這是我一直在尋找的方法。我希望有一些內置的東西。 – 2013-05-10 20:33:56