Home  >  Article  >  junit 5 code/config reuse. Should I use abstract test class or extension?

junit 5 code/config reuse. Should I use abstract test class or extension?

王林
王林forward
2024-02-06 10:45:14547browse
Question content

junit 5 document is using AbstractDatabaseTests

But I remember the recommended way in junit 4 is to use rules instead of extending classes.


Correct answer


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!

Statement:
This article is reproduced at:stackoverflow.com. If there is any infringement, please contact admin@php.cn delete