Debug Arquillian Tests in IntelliJ

8

Ich habe ein Java EE Projekt, in dem ich Arquillian Tests mit JUnit auf JBoss 7 (Windows) verwende. Tests funktionieren gut, aber ich kann sie nicht debuggen.

Von dem, was ich gegooglet habe ( Ссылка ) Ich verstehe, dass Arquillian-Tests in separaten VM ausgeführt werden, daher kann IntelliJ nicht debuggen sie. Ich brauche IntelliJ, um eine Verbindung zu dieser Maschine über den Socket herzustellen, aber ich weiß nicht, wie ich es machen soll.

Ich habe diesen Thread gefunden: Debuggen mit Arquillian in IntelliJ - Managed Container Aber ich weiß nicht, wie es funktioniert.

Ich bin auch über diesen Thread gestolpert: Ссылка , also habe ich hoffentlich genügend todsicheren Teil in meinem Pom gefüllt. xml aber es hat nicht geholfen:

%Vor%

Könnte mir bitte irgendwer eine Gilde geben, wie man Tests in einer solchen Konfiguration debuggt?

    
Martin Nuc 20.07.2013, 18:33
quelle

2 Antworten

7

Zunächst hängt es vom verwendeten Containertyp ab - verwaltet, remote oder eingebettet. Siehe auch Ссылка . Für Letzteres laufen die Tests in der gleichen JVM und Sie können zum Beispiel Ihren Test direkt in der IDE debuggen.

Die Surefire-Konfiguration ist in diesem Fall nicht wichtig, weil Sie in Ihrer IDE debuggen wollen (es sei denn, Sie führen maven-Ziele in Ihrer IDE aus).

Für verwaltete und entfernte Container müssen Sie den tatsächlichen Container debuggen. Dazu müssen Sie die richtigen JVM-Optionen an den Remote-Container übergeben, damit Sie eine Remote-Debugging-Sitzung öffnen können. Eine Möglichkeit, dies zu tun, ist via arquillian.xml :

Ссылка

%Vor%

Der wichtige Teil im obigen Beispiel ist javaVmArguments .

    
Hardy 21.07.2013, 09:50
quelle
1
___ qstnhdr ___ Debug Arquillian Tests in IntelliJ ___ tag123java ___ Java (nicht zu verwechseln mit JavaScript oder JScript oder JS) ist eine universelle objektorientierte Programmiersprache, die für die Verwendung in Verbindung mit der Java Virtual Machine (JVM) entwickelt wurde. "Java-Plattform" ist der Name für ein Computersystem, auf dem Tools zum Entwickeln und Ausführen von Java-Programmen installiert sind. Verwenden Sie dieses Tag für Fragen, die sich auf die Java-Programmiersprache oder Java-Plattform-Tools beziehen. ___ tag123unittesting ___ Unit Testing ist eine Methode, bei der einzelne Quellcode-Einheiten auf ihre Tauglichkeit getestet werden. ___ tag123jboss7x ___ Version 7 des JBoss-Anwendungsservers ___ tag123junit ___ Beliebtes Unit-Testing-Framework für Java und Scala. Die neueste Version, JUnit 4, unterstützt Rich-Annotation-basierte und parametrisierte Tests. Erwägen Sie die Verwendung in Verbindung mit dem Java- oder Scala-Tag, um Ihren Anwendungsfall anzugeben. ___ answer33859579 ___

Ich kann Arqullian-Tests entweder von Maven oder von IntelliJ ausführen. Ich benutze eingebettete Container. Das Wichtigste ist, das JBoss-Home auf arqullian.xml zu konfigurieren, oder einfach nur die Maven-Konfiguration, damit IntelliJ weiß, wo sich das JBoss-Home befindet.

%Vor%

WICHTIG zum Debuggen und Ausführen des Tests in IntelliJ:

Aus irgendeinem Grund müssen Sie den Logging Manager angeben, um eingebettete JBoss ausführen zu können. Für Maven ist es einfach und du kannst es auf Konfiguration einstellen:

%Vor%

Aber das IntelliJ interessiert sich nicht für diese Plugin-Konfiguration bei Maven und Sie müssen es direkt bei der Testfall-Konfiguration einstellen. Ich habe keine bessere Lösung gefunden. Der eingebettete Container kümmert sich nicht um die Java VM-Konfiguration in arqllian.xml.

Hier gibt es immer die Möglichkeit, Debugging über Remote Debugging durchzuführen. Ich mache es gerne bei IDE. Für mich ist es komfortabler. Wenn Sie das Remote-Debugging aktivieren möchten, müssen Sie die Konfiguration für eingebettete Container auf JAVA_OPT oder auf arqllian.xml festlegen.

    
___ qstntxt ___

Ich habe ein Java EE Projekt, in dem ich Arquillian Tests mit JUnit auf JBoss 7 (Windows) verwende. Tests funktionieren gut, aber ich kann sie nicht debuggen.

Von dem, was ich gegooglet habe ( Ссылка ) Ich verstehe, dass Arquillian-Tests in separaten VM ausgeführt werden, daher kann IntelliJ nicht debuggen sie. Ich brauche IntelliJ, um eine Verbindung zu dieser Maschine über den Socket herzustellen, aber ich weiß nicht, wie ich es machen soll.

Ich habe diesen Thread gefunden: Debuggen mit Arquillian in IntelliJ - Managed Container Aber ich weiß nicht, wie es funktioniert.

Ich bin auch über diesen Thread gestolpert: Ссылка , also habe ich hoffentlich genügend todsicheren Teil in meinem Pom gefüllt. xml aber es hat nicht geholfen:

%Vor%

Könnte mir bitte irgendwer eine Gilde geben, wie man Tests in einer solchen Konfiguration debuggt?

    
___ answer17771026 ___

Zunächst hängt es vom verwendeten Containertyp ab - verwaltet, remote oder eingebettet. Siehe auch Ссылка . Für Letzteres laufen die Tests in der gleichen JVM und Sie können zum Beispiel Ihren Test direkt in der IDE debuggen.

Die Surefire-Konfiguration ist in diesem Fall nicht wichtig, weil Sie in Ihrer IDE debuggen wollen (es sei denn, Sie führen maven-Ziele in Ihrer IDE aus).

Für verwaltete und entfernte Container müssen Sie den tatsächlichen Container debuggen. Dazu müssen Sie die richtigen JVM-Optionen an den Remote-Container übergeben, damit Sie eine Remote-Debugging-Sitzung öffnen können. Eine Möglichkeit, dies zu tun, ist via arquillian.xml :

Ссылка

%Vor%

Der wichtige Teil im obigen Beispiel ist javaVmArguments .

    
___ tag123jbossarquillian ___ JBoss Arquillian ist eine Testplattform für die JVM, mit der Entwickler automatisierte Integrations-, Funktions- und Akzeptanztests für Java-Middleware erstellen können. ___
Cyva 20.11.2015 14:50
quelle