0
私はKotlin + Spekフレームワークで単体テストを作成しようとしています。これまでのところよく見えますが、テストしている1つのクラスに対して複数のSpecオブジェクトが必要な場合は、定型コードをたくさん書く必要があるという問題があります。KotlinとSpekで共有オブジェクトを初期化する抽象的なSpekを作成します。
問題を説明するために私のコードです:
object MyFirstSpec : Spek({
val myMock1: SomeObject1 = mock()
val myMock2: SomeObject2 = mock()
val myMock3: SomeObject3 = mock()
val myMock4: SomeObject4 = mock()
val myMock5: SomeObject5 = mock()
val myMock6: SomeObject6 = mock()
val myClass = MyClassToTest(myMock1, myMock2, myMock3, myMock4, myMock5, myMock6)
given("something to test here") {
//my test here
}
})
object MyOtherSpec : Spek({
val myMock1: SomeObject1 = mock()
val myMock2: SomeObject2 = mock()
val myMock3: SomeObject3 = mock()
val myMock4: SomeObject4 = mock()
val myMock5: SomeObject5 = mock()
val myMock6: SomeObject6 = mock()
val myClass = MyClassToTest(myMock1, myMock2, myMock3, myMock4, myMock5, myMock6)
given("something else to test here") {
// my test here
}
})
私はなど私のモックを定義し、その継承した後、または、私の仕様を越え何とかそれを共有する「抽象」SPEKを作成するのが大好きです。
これを達成する方法はありますか?