Ich starte meine Junit-Tests über ant und sie laufen wesentlich langsamer als über die IDE. Mein ant Anruf ist:Ant Junit Tests laufen viel langsamer über ant als über IDE - was zu sehen?
<junit fork="yes" forkmode="once" printsummary="off">
<classpath refid="test.classpath"/>
<formatter type="brief" usefile="false"/>
<batchtest todir="${test.results.dir}/xml">
<formatter type="xml"/>
<fileset dir="src" includes="**/*Test.java" />
</batchtest>
</junit>
Der gleiche Test, der augenblicklich in meinem IDE in der Nähe läuft (0.067s) 4.632s nimmt, wenn sie durch Ant laufen. In der Vergangenheit war ich in der Lage, Testprobleme wie diese zu beschleunigen, indem ich den junit fork-Parameter verwendete, aber dies scheint in diesem Fall nicht hilfreich zu sein. Welche Eigenschaften oder Parameter kann ich betrachten, um diese Tests zu beschleunigen?
Weitere Informationen:
Ich bin mit der gemeldeten Zeit von dem IDE gegen die Zeit, dass die junit Aufgabe Ausgänge. Dies ist nicht die Gesamtzeit, die am Ende des Ameisenlaufs gemeldet wird.
Also, bizarrerweise hat sich dieses Problem selbst gelöst. Was könnte dieses Problem verursacht haben? Das System läuft auf einer lokalen Festplatte, so dass das nicht das Problem ist.
Würde nicht fork = ja die Leistung beeinträchtigen, indem ein neuer Prozess erzeugt wird, um einen einzelnen Test auszuführen? Was ist das Ergebnis, wenn Sie es nicht benutzen? –
mit forkmode = "einmal" Ich dachte, dass es alle Junit-Tests in einem einzigen Thread ausführen würde. Es gibt keine wesentliche Leistungsänderung zwischen fork = "no" und fork = "yes". –
Verwenden Sie Ant 'gemeldete Laufzeit oder JUnit's? Ant macht viel mehr Arbeit (Bestimmen, welche Tests ausgeführt werden sollen, wahrscheinlich Kompilieren) als nur das Ausführen des Testen Sie über die IDE –