2

JUnit 5 似乎强烈建议不要使用继承来共享测试逻辑,而是说使用Extensions。

因此,我们将事物重构为扩展。

我经常看到的是大量测试以编程方式添加相同的三个扩展。(这三个都是扩展,由于它们的性质,必须以编程方式添加......)

我可以实现一个添加这三个扩展的基类,但是我再次使用继承。

有没有更好的办法?

例如,这样的事情会很好:

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();
}
4

0 回答 0