なぜ再三GroovyからJavaScriptを呼ぼうとしたか
なぜ何度もJavaScriptを呼ぼうと頑張ったかというと、以下のjavascriptテストフレームワークを使用したかったから。
テストケースを書くために、Groovyに特化したクラスも用意されている。
Maven - Frequently Asked Questions
掲載されていたものを抜粋し、若干バグっている部分を修正。(このサイトのソース、あちこちにタイプミス、変数定義漏れなどがあり、若干バグっているがw)
import net.sf.jstester .ext.GroovyJsTestCase class GroovyJsTesCaseTest extends GroovyJsTestCase { void testScript(){ def groovyVar = "10"; def script = """ var counter = 0; function count(){ counter++; } for( i = 0; i < $groovyVar; i++ ){ count(); } """; eval( script ); assertExpressionEquals( "$groovyVar", "counter" ); } }
結構おもしろいなぁと思った。最後の
assertExpressionEquals( "$groovyVar", "counter" );
の部分は、
assertExpressionEquals( groovyVar, "counter" );
でも比較可能。(というか、なぜサンプルで文字列にしてあるのか不明)第二引数がテストケース内でevalを実行した結果定義された変数、関数を表す。
ディスカッション
コメント一覧
まだ、コメントがありません