grails test-app输出到控制台

Ulr*_*lin 37 grails

来自Django的我是Grails的新手.

使用测试驱动开发,我习惯于编写测试,然后编写实际功能.对我来说,编写测试,运行带有一些调试输出的函数以查看变量状态直到单元测试通过,然后移动调试输出对我有用.

在grails中,'grails test-app','log.debug'和'println'的输出不会记录到控制台,也不在报告中.

文档指向使用mocklogging,它应该将log.debug调用输出到控制台,但是使用grails 1.2.1,我看不到任何输出.

任何人都可以告诉我如何在控制台中查看'println'或'log.debug'的输出以加快我的开发速度?

Ted*_*eid 79

将-echoOut开关添加到grails test-app,这是1.2版本中的新功能:

grails test-app -echoOut
Run Code Online (Sandbox Code Playgroud)

test-app上还有许多其他有用的开关,包括:

echo System.err消息:

grails test-app -echoErr
Run Code Online (Sandbox Code Playgroud)

在运行测试之前强制清理(不用grails clean && grails test-app):

grails test-app -clean
Run Code Online (Sandbox Code Playgroud)

只运行单元测试:

grails test-app unit:
Run Code Online (Sandbox Code Playgroud)

只运行集成测试:

grails test-app integration:
Run Code Online (Sandbox Code Playgroud)

在特定环境中运行:

grails -Dgrails.env=production test-app
Run Code Online (Sandbox Code Playgroud)

仅针对特定测试类运行测试(如com.foo.MyControllerTests),请务必不要使用"测试"后缀:

grails test-app com.foo.MyController
Run Code Online (Sandbox Code Playgroud)

仅重新运行上次运行测试时失败的测试

grails test-app -rerun
Run Code Online (Sandbox Code Playgroud)


Joh*_*ner 5

要查看log.debug语句,您需要将以下内容添加到grails-app/conf/Config.groovy文件的log4部分:

log4j = {
   ...
   ...
   ...
   debug 'grails.app'
}
Run Code Online (Sandbox Code Playgroud)