2012-11-10 2 views
6

Ich benutze Netbeans mit Maven und TestNG. Bei Tests mit dem Maven todsichere Plugin läuft, kann ich ein Setup einige Konfigurationsparameter, insbesondere die verwendete Protokollierungsstufe für meine Tests (Trace):Wie können Netbeans bestimmte JVM-Parameter beim Ausführen von Tests verwenden?

-Dorg.slf4j.simpleLogger.defaultLogLevel=trace 
-Dorg.slf4j.simpleLogger.logFile=System.out 

Wenn jedoch eine bestimmte Testdatei (CTRL + F6) läuft oder Testmethode ("run focused test method") verwendet Netbeans keine todsichere (was gut ist) und ignoriert daher diese Parameter.

Gibt es eine Möglichkeit, die von Netbeans verwendeten JVM-Parameter zu ändern, wenn Tests auf diese Weise ausgeführt werden?

Dies ist etwas ähnlich wie this other post, aber meine Frage ist spezifisch für Netbeans.

+0

NetBeans IDE: Hinzufügen/Ändern von JVM-Befehlszeile args Sie alle Anweisungen finden Sie hier: https://web.archive.org/web /20131217060421/https://blogs.oracle.com/charliebrown/entry/netbeans_ide_adding_changing_jvm – cristi

+0

Ich denke, das sind die Einstellungen für die JVM, die IDE ausführt. Die Tests werden in einer separaten JVM AFAIK ausgeführt. – assylias

Antwort

6

Aus der Dokumentation von Netbeans 7.2 (siehe Netbeans 7.2 changes, section Maven):

... Jetzt Testdatei immer Maven läuft standardmäßig wie Testprojekt ...

Welche Version von Netbeans benutzt du? Wahrscheinlich solltest du nur auf 7.2 upgraden.

+0

Guter Punkt - Ich bin am 7.2.1 ... Seltsam. – assylias

+0

Wenn ich eine neue Test-Klasse erstellen und "Testdatei" ausführen, wird sie mit Maven ausgeführt. Wenn ich es ein zweites Mal benutze, läuft es mit Ant ... Und 'run focused test' scheint immer mit ant zu laufen. – assylias

+0

Es ist wahrscheinlich ein Netbeans Bug dann. Sie sollten es melden, wenn kein solches Ticket existiert. –

5

In den Projekteigenschaften können Sie Profile unter Ausführen erstellen. In diesen Profilen können Sie VM-Optionen anpassen. Sie können hier Ihre Parameter hinzufügen, eine Testkonfiguration erstellen und eine Konfiguration ausführen.

+0

Bei Verwendung von Maven scheint diese Option nicht geändert zu werden (wenn ich VM-Optionen hinzufüge, schließe das Eigenschaftenfenster und öffne es erneut: Die VM-Optionen sind wieder leer). – assylias

+0

Ich denke, das ist genau das, was Sie suchen: http://stackoverflow.com/questions/10851534/how-to-set-system-properties-using-netbeans-7-2-and-maven –

+0

Mein Problem ist das Wenn ich einen individuellen Test durchführe, ruft Netbeans Maven nicht an, sondern führt den Test direkt aus (ich nehme an, dass ich ein Ameisen-Skript im Hintergrund aufruft). Daher wird die Maven-Konfiguration nur beim Testen des gesamten Projekts verwendet. Ich habe Maven bereits so konfiguriert, wie es in Ihrem Link beschrieben ist. – assylias

1

Setzen Sie die Fork-Eigenschaft in der Konfiguration des Surefire-Plugins in Maven. Dies startet eine neue JVM. Im zweiten Teil erfahren Sie, wie Sie die gewünschten JVM-Parameter in die neue JVM einlesen. Je nachdem, was Sie tun möchten, müssen Sie sie möglicherweise aus der Umgebung lesen.

+0

Ich glaube nicht, dass es mit dem forkMode zu tun hat. Die Tests, die ich erwähne, laufen mit Ameisen. – assylias

0

In meinem Fall ging ich zu Projekt/Eigenschaften, dann Kategorie "Aktionen". Dort finden Sie die Aktionen "Testdatei" und "Debug-Test". Wählen Sie sie aus und platzieren Sie die gewünschten Eigenschaften in das Feld "Eigenschaften festlegen".

nicht sicher, ob dies nur für Maven Projekte ...

Verwandte Themen