我找到了 Peter Ledbrook 关于测试 Grails 脚本的文章 ( http://www.cacoethes.co.uk/blog/groovyandgrails/testing-your-grails-scripts )。“太好了”,我想,我们开始吧。但我花了很长时间(没有互联网访问)未能让它工作。我正在使用 Grails 2.1.1 和 GGTS 3.1
我试图运行他的 hello-world 脚本。当我将它作为命令调用时它会起作用。但是当我尝试从 test\cli 中的测试类调用它时,退出代码始终为 1。我在测试(和脚本)中添加了一些 println 语句。据我所见,该脚本永远不会被调用(提供的脚本也没有像'war')。这是我的测试课的开始:
class HelloWorldTests extends AbstractCliTestCase {
void testDefault() {
println "work dir: "+System.getProperty("grails.home") //cli.work.dir")
println "about to call script"
execute(['hello-world']) // Pass parameters in the list
println "called script"
int exitCode = waitForProcess()
println "exit code "+exitCode
println "output: "+super.getOutput()
if (exitCode != 0) {
println output
}
assertEquals 0, exitCode
println 语句的输出是:
work dir: C:\Apps\GGTS310\grails-2.1.1\
about to call script
called script
exit code 1
output:
从我可以通过查看 AbstractCliTestCase 的代码得出的形式来看,“输出”中应该有一些东西,但没有。
感激地收到帮助
约翰