В настоящее время я пытаюсь запустить одни и те же тестовые примеры для двух разных классов, но у меня проблемы с setup(), я вижу похожие вопросы, но не видел решения для заводного тестирования с помощью Spock, и я не смог понять это.
Таким образом, я, по сути, решаю одну и ту же проблему, используя 2 разных метода, поэтому одни и те же тестовые примеры должны быть применимы к обоим классам, я стараюсь не повторяться (DRY).
Итак, я настроил MainTest как абстрактный класс, а MethodOneTest и MethodTwoTest — как конкретные классы, расширяющие абстрактный MainTest:
import spock.lang.Specification
abstract class MainTest extends Specification {
private def controller
def setup() {
// controller = i_dont_know..
}
def "test canary"() {
expect:
true
}
// more tests
}
Мои конкретные классы выглядят примерно так:
class MethodOneTest extends MainTest {
def setup() {
def controller = new MethodOneTest()
}
}
class MethodTwoTest extends MainTest {
def setup() {
def controller = new MethoTwoTest()
}
}
Итак, кто-нибудь знает, как я могу запустить все тесты в абстрактном MainTest из моих конкретных классов MethodOneTest и MethodTwoTest? Как правильно создать экземпляр установки? Я надеюсь, что я ясно.