Die Hauptfunktionalität hinzugefügt ist feinkörniger Kontrolle über die Test Instance Lifecycle, zum Beispiel durch @TestInstance
Annotationen. Ich nehme an, das war einer der Gründe, die Namen der alten @Before
und @BeforeClass
Annotationen zu ändern.
Die alte (JUnit4) @Before
und die neue (JUnit5) @BeforeEach
ähnlich sind, dass sie ausgeführt werden erneut vor jeder@Test
Methode in einer Testklasse. Wenn Ihre Klasse also über 10 Testmethoden verfügt, wird die Methode @BeforeEach
zehnmal ausgeführt.
Die alte (JUnit4) @BeforeClass
und die neue (JUnit5) @BeforeAll
ähnlich sind, dass sie beide gerade ausgeführt einmal, bevor Sie einen der Tests in der Klasse. Selbst wenn Ihre Klasse 10 Tests hat, wird die Methode @BeforeAll
nur einmal ausgeführt.
Der Vorschlag, in der Frage gemacht, dass @BeforeClass
-@BeforeEach
umbenannt wurde, ist somit falsche.
Weitere Informationen finden Sie auch unter this question über den Unterschied zwischen @Before, @BeforeClass, @BeforeEach und @BeforeAll.
Nein, dafür ist BeforeClass nicht geeignet. Lies das Javadoc. Aber Namen wurden geändert, weil ... sie dachten, die neuen Namen wären besser. Da es sich um eine neue, inkompatible Version handelt, ändern Sie die Namen nicht. –
'@ Before' wurde in' @ BeforeEach' umbenannt (und '@ BeforeClass' wurde in' @ BeforeAll' umbenannt). Wie Sie bereits erwähnt haben, werden sie "vor jeder Testmethode ausgeführt". Das ist ein guter neuer Name. –
Vielen Dank für die Überprüfung. BeforeClass wird auch verwendet, um einmal vor einer der Testmethoden in der Klasse ausgeführt zu werden, damit beide identisch sind. Es ist von, wenn sie gerade den Namen geändert haben. Ich wollte wissen, ob sie irgendwelche zusätzlichen Sachen in den neuen Annotationen hinzugefügt haben – Niraj