Warum kann der Name einer Testmethode andere Tests beeinflussen?JUnit-Test fehlgeschlagen wegen des Methodennamens
Ich habe eine Suite mit 2 Klassen von Tests, und wenn ich einen Methodennamen von Klasse1 ändere, ist mein Test in Klasse2 ok (grün).
Ich bemerkte, dass beide Klassen eine Methode mit dem gleichen Namen haben, aber der Test, der fehlschlägt, ist keiner von diesen. Wenn ich jedoch einen von ihnen umbenenne, sind alle Tests in Ordnung.
Ist es in Ordnung, 2 Methoden mit demselben Namen in verschiedenen Klassen zu haben, aber in derselben Suite? Und die Tatsache, dass ein anderer Test zufällig fehlschlägt, ist nur ein Zufall?
ps: Die Reihenfolge der ausgeführten Tests wird geändert, nachdem ich diese Methode umbenannt habe. PS2: Entschuldigung für mein schlechtes Englisch.
kann das Bild besser erklären, meine Frage:
Sind die Tests gut entworfen, so dass sie tatsächlich in beliebiger Reihenfolge laufen? Gibt es einen Zustand, der von der Reihenfolge abhängig sein kann, in der sie ausgeführt werden? – vikingsteve
Das Problem ist wahrscheinlich die Reihenfolge der Ausführung und nicht der Name des Tests. Einer (oder viele) der Tests können den Zustand des anderen ändern. –
Riecht wie ein Test-Isolationsfehler, wie er bezeichnet wird, wenn ein Test von den Nebenwirkungen eines anderen Tests abhängt und daher in einer bestimmten Reihenfolge ausgeführt werden muss. –