私は、クラス内に書かれていないGroovyスクリプト用のコードを記述しなければならない状況があります。そのちょっとしたグルーヴィーなスクリプト。何らかの理由で私は実際のコードを表示することはできませんが、これは単純に次のようになります。クラスやメソッドを持たないGroovyスクリプトに対してjunitテストを書くことはできますか?はいの場合はどうですか?
def var = 10
return var
私は、クラス内に書かれていないGroovyスクリプト用のコードを記述しなければならない状況があります。そのちょっとしたグルーヴィーなスクリプト。何らかの理由で私は実際のコードを表示することはできませんが、これは単純に次のようになります。クラスやメソッドを持たないGroovyスクリプトに対してjunitテストを書くことはできますか?はいの場合はどうですか?
def var = 10
return var
あなたが上記のケースで特別にテストを書く必要はありません。
assert
を同じものとして使用します。
def var = 10
var++
assert 11 == var, 'Value mismatch for var'
一つのスタイルは、(他の場所で述べたように)assert
機能を使用して、インラインマイクロテストを書くことです:
def reverseString = { s ->
s?.reverse()
}
// test_reverseString
assert 'cba' == reverseString('abc')
assert '' == reverseString('')
assert null == reverseString(null)
def sumList = { list ->
(list == null) ? 0 :
(list.isEmpty()) ? 0 :
list.sum()
}
// test_sumList
assert 6 == sumList([1,2,3])
assert 0 == sumList([])
assert 0 == sumList(null)
// ---- main
println reverseString('esrever')
println sumList([1,2,3,4])
をそれだけでテストが実行されるように、このコードを変更することは比較的容易である(たとえば、コマンドライン引数に基づいて)。
クラスのオブジェクトを作成し、run()メソッドを呼び出すことができます。これは、クラスをインスタンス化し、その中でメソッドを実行します。
https://kousenit.org/2011/02/24/testing-groovy-scripts/ –