2014-02-19 10 views
5

Jetzt habe ich ein komplettes Projekt und ich wollte die Prüfung in Maven parallel. Wenn ich die parallele Option einstelle, scheitert mein Test an DirtiesContexts. (Auch wenn ich die Testklassen mit @DirtiesContext(classMode=ClassMode.AFTER_CLASS) annotiere)Maven surfire testet reusefork vs parallel

Ich setze den StackTrace hier nicht, aber sein Anwendungskontext konnte nicht geladen werden, weil er den Anwendungskontext nicht registrieren kann, weil er bereits dort ist.

Wenn ich reusefork verwende, sind Tests erfolgreich, auch ohne die DirtiesContext zu notieren.

Wenn Sie reusefork verwenden, erstellen Sie immer neue VM für jeden fork (und das ist der Grund, warum es erfolgreich ist). (siehe doc hier: http://maven.apache.org/surefire/maven-surefire-plugin/test-mojo.html)

Mit parallel Sie werden dies nicht tun, so normalerweise würde dies weniger Ressourcen benötigt.

So nun auf die Frage:

  1. Die Verknüpfung von doc sagt mit parallel für TestNG nur, aber here sie sprechen von JUnit 4.7 und höher, so bin ich verwirrt, was ist die richtige Dokumentation?
  2. Ist paralleler Test besser dan reusefork?
  3. Wenn es besser ist, wie kann ich die DirtiesContext beheben?

Danke im Voraus.

Antwort