Groovy-unit-testing
提供:Dev Guides
Groovy-単体テスト
オブジェクト指向システムの基本単位はクラスです。 したがって、ユニットテストはクラス内のtestigで構成されます。 取られるアプローチは、テスト中のクラスのオブジェクトを作成し、それを使用して、選択したメソッドが期待どおりに実行されることを確認することです。 すべてのメソッドをテストできるわけではありません。すべてのメソッドをテストすることが常に実用的ではないためです。 ただし、重要かつ重要な方法についてはユニットテストを実施する必要があります。
JUnitは、Javaコードの自動ユニットテストで受け入れられている業界標準であるオープンソースのテストフレームワークです。 幸いなことに、JUnitフレームワークはGroovyクラスのテストに簡単に使用できます。 必要なのは、標準のGroovy環境の一部であるGroovyTestCaseクラスを拡張することだけです。 Groovyテストケースクラスは、Junitテストケースに基づいています。
簡単なJunitテストケースの作成
アプリケーションクラスファイルに次のクラスが定義されていると仮定しましょう-
class Example {
static void main(String[] args) {
Student mst = new Student();
mst.name = "Joe";
mst.ID = 1;
println(mst.Display())
}
}
public class Student {
String name;
int ID;
String Display() {
return name +ID;
}
}
上記のプログラムの出力を以下に示します。
Joe1
そして、Studentクラスのテストケースを作成したいとします。 典型的なテストケースは以下のようになります。 次のポイントは、次のコードについて注意する必要があります-
- テストケースクラスはGroovyTestCaseクラスを拡張します
- アサートメソッドを使用して、Displayメソッドが正しい文字列を返すようにします。
class StudentTest extends GroovyTestCase {
void testDisplay() {
def stud = new Student(name : 'Joe', ID : '1')
def expected = 'Joe1'
assertToString(stud.Display(), expected)
}
}
Groovyテストスイート
通常、単体テストの数が増えると、すべてのテストケースを1つずつ実行し続けることが難しくなります。 したがって、Groovyは、すべてのテストケースを1つの論理ユニットにカプセル化できるテストスイートを作成する機能を提供します。 次のコードスニペットは、これを実現する方法を示しています。 次のことは、コードについて注意する必要があります-
- GroovyTestSuiteは、すべてのテストケースを1つにカプセル化するために使用されます。
- 次の例では、2つのテストケースファイルがあると仮定しています。1つは StudentTest と呼ばれ、もう1つは必要なすべてのテストを含む EmployeeTest です。
import groovy.util.GroovyTestSuite
import junit.framework.Test
import junit.textui.TestRunner
class AllTests {
static Test suite() {
def allTests = new GroovyTestSuite()
allTests.addTestSuite(StudentTest.class)
allTests.addTestSuite(EmployeeTest.class)
return allTests
}
}
TestRunner.run(AllTests.suite())