Grails スクリプトのテストに関する Peter Ledbrook の記事を見つけました ( 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 のコードを見てわかることから、「出力」に何かがあるはずですが、ありません。
感謝して受け取った助け
ジョン