Существует ли рекомендуемый способ повторного использования коллекций расширений JUnit 5?

#junit #junit5 #junit5-extension-model

Вопрос:

JUnit 5, по-видимому, настоятельно рекомендует не использовать наследование для совместного использования логики тестирования и вместо этого говорит использовать Extension s.

Итак, мы преобразуем вещи в расширения.

То, что я часто вижу, — это большое количество тестов, программно добавляющих одни и те же три расширения. (Все три из них являются своего рода расширениями, которые необходимо добавлять программно в силу их природы…)

Я мог бы реализовать базовый класс, который добавляет эти три расширения, но затем я снова использую наследование.

Есть ли лучший способ?

например, что-то вроде этого было бы неплохо:

 public class AcmeTestExtension implements Extension {
    @RegisterExtension
    public final Extension1 extension1 = new Extension1();

    @RegisterExtension
    public final Extension2 extension1 = new Extension2();

    @RegisterExtension
    public final Extension3 extension1 = new Extension3();

    // can add methods here which delegate through to individual extensions
}

public class MyTest {
    @RegisterExtension
    public final AcmeTestExtension extension = new AcmeTestExtension();
}