一件事可能也幫助你這樣做:
確保你的配置。常規設置的log4j:
import grails.util.GrailsUtil
if (GrailsUtil.environment == 'test') {
log4j = {
appenders {
// %d{yyyyMMdd.HHmmss.SSS} %r [%t] %-5p %c %x - %m%n
console name:'a1', layout:pattern(conversionPattern: '%d{yyyyMMdd.HHmmss.SSS} %r [%t] %-5p %c %x - %m%n')
}
root {
info 'a1'
additivity = true
}
// debug 'org.springframework.security'
error 'org.codehaus.groovy.grails.web.servlet', // controllers
'org.codehaus.groovy.grails.web.pages', // GSP
'org.codehaus.groovy.grails.web.sitemesh', // layouts
'org.codehaus.groovy.grails.web.mapping.filter', // URL mapping
'org.codehaus.groovy.grails.web.mapping', // URL mapping
'org.codehaus.groovy.grails.commons', // core/classloading
'org.codehaus.groovy.grails.plugins', // plugins
'org.codehaus.groovy.grails.orm.hibernate', // hibernate integration
'org.springframework',
'org.hibernate',
'org.apache',
'grails.util.GrailsUtil',
'grails.app.service.NavigationService',
'org.quartz',
'net.sf.ehcache'
fatal 'NotificationJob'
warn 'org.mortbay.log',
'groovyx.net.ws', // Web services too noisy with INFO statements
'org.apache.cxf.endpoint.dynamic' // Web services too noisy with INFO statements
info 'org.springframework.security'
debug 'grails.app.controller.TroublesomeController'
}
}
在您的測試,這樣做:
import org.slf4j.Logger
import org.slf4j.LoggerFactory
class HandoffTests extends GroovyTestCase {
Logger log = LoggerFactory.getLogger(HandoffTests)
... your tests ...
}
如果你這樣做,日誌會表現的相當多,因爲它在該領域一樣,服務和控制器對象,其中grails爲您自動注入它。我不知道爲什麼他們沒有在測試中自動注入...
您是否知道如何輸出junit報告的實際錯誤?即「預計富,但得到了」。即使使用-testOut和-testErr,它也不會顯示,我必須查看target/test-reports/plain/*。txt文件。 – c089 2011-04-13 17:52:23
同樣的問題在這裏。我必須做這樣的事情:$ grails test-app -echoOut -echoErr Something.testMain; cat ./target/test-reports/plain/TEST-integration-integration-SomethingTests.txt有沒有人知道一種方法來真正地讓它輸出一切? Thxx! – jpswain 2011-04-26 21:48:06
感謝您發佈這些內容。我只希望我能想出一種方法讓控制檯輸出打印它正在運行的測試名稱,而不是「1 xx」。這些-echoOut打印出一些有用的信息,但不是測試名稱。 – franzcatch 2017-02-10 21:34:41