Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Ich habe mich lange für JUnit 4.x ausgesprochen, u.a. weil sich JUnit5 noch nicht reif für den Praxiseinsatz angefühlte und weil es in JUnit5 keine vernünftige Möglichkeit gab (und gibt), auf Java-Ebene Testsuiten zu definieren (man muss dann über Gradle o.ä. gehen).
Mittlerweile ist JUnit5 aus meiner Sicht reif genug, um zu wechseln. Testsuiten kann man zwar immer noch nur extern formulieren, aber davon machen wir hier im Projekt keinen Gebrauch. Dafür sind die Möglichkeiten zum Testen auf Exceptions sowie für parametrisierte Tests deutlich überlegen im Vergleich zu JUnit4.
Let's switch over.
Dieser PR führt die Migration von JUnit 4.x auf JUnit 5.x durch. Betroffen sind:
@Before
und@After
durch die neuen Annotationen@BeforeEach
und@AfterEach
@BeforeClass
und@AfterClass
durch die neuen Annotationen@BeforeAll
und@AfterAll
@Ignore
durch die neue Annotatione@Disabled
@Test(expected = …)
durch den Einsatz vonAssertions.assertThrows(...)
assertEquals(string, expected, actual)
verwendet. Das gibt es so nicht mehr bzw. der String müsste als letzter Parameter übergeben werden. Da die verwendeten Strings in der überwiegenden Mehrzahl semantisch unklar und nur eine Wiederholung des erwarteten Wertes waren (Beispiel:assertEquals("es sollte 3 rauskommen", 3, something.or.other())
), habe ich diese Strings einfach überall entfernt. Es gab einige wenige Stellen, wo die Strings tatsächlich eine sinnvolle semantische Aussage enthielten. Wenn jemand Zeit hat, könnte man diese Strings nochmal wieder einbauen.Der Testfixed: tauschecontrib.entities.ChestTest.checkCreation()
schlägt auf einmal fehl. Wenn ich mir den Test anschaue, frage ich mich, warum der nicht auch bereits in vorher (also in JUnit4) fehlgeschlagen ist? => Issue Dungeon: Test contrib.entities.ChestTest.checkCreation() schlägt fehl #1622assertEquals
gegen die korrekte Methode für den Use-Case:assertArrayEquals
(31391ea).closes #1583