junit 5 document is using AbstractDatabaseTests
But I remember the recommended way in junit 4 is to use rules instead of extending classes.
ExampleUsing AbstractDatabaseTest
it can be demonstrated that "JUnit Jupiter [in addition to registered extensions] also guarantees Wrapping behavior in class and interface hierarchies [...]".
Excerpted from User Guide一个>:
Extensions are a core feature of JUnit Jupiter and are considered more idiomatic than using inheritance.
Although JUnit Jupiter also supports inheritance (many annotations are @Inherited
), the extension mechanism follows composition over inheritance . This gives you more flexibility, for example, since you can use multiple extensions, whereas inheritance is limited to a single class.
The above is the detailed content of junit 5 code/config reuse. Should I use abstract test class or extension?. For more information, please follow other related articles on the PHP Chinese website!