Frage

Ich habe Probleme, Wildfly-Tests unter NetBeans und Maven zu testen.Ich kann die Anwendung von der IDE starten, ich kann es sogar mit dem NetBeans-Debugger debuggen, sobald ich mit dem Start von Einheitenstests starte, erhalte ich den folgenden Fehler:

generasacodicetagpre.

Der Code ist Standard wie folgt:

generasacodicetagpre.

Vielen Dank im Voraus.

War es hilfreich?

Lösung

Das Problem ist, dass es überhaupt kein EJBContainer in Wildfly gibt. Ich bin nicht sicher, wie es möglich ist, dass EJBContainer gemäß der Plattformspezifikation da sein sollte. Trotzdem müssen wir etwas anderes verwenden, und es ist Arquillian. Dieser Text wurde von zahlreichen anderen Artikeln inspiriert, Maily Diese ein , jedoch die hier vorgeschlagene Lösung, die hier vorgeschlagen hat, verwendet dieselbe Wildfly-Installation für Tests wie für den regulären Einsatz, der mir besser erscheint. < / p>

Es ist notwendig, den folgenden Hinweisen sorgfältig zu folgen. Dann wird es funktionieren.

Schritt Null - Vorbereitung: Lassen Sie uns etwas vorbereiten, das wir zum Testen verwenden können.

Lassen Sie uns ein regelmäßiges Maven Javaee-Projekt haben, d. H.:

generasacodicetagpre.

Ich verwende NetBeans, jedoch sollten die folgenden Schritte auch für andere IDEs nicht sehr unterschiedlich sein. Lassen Sie uns einige Sachen wie Entitätsbohnen, Persistenzeinheiten und Session-Bohnen erstellen, um etwas zu testen. Ich habe eine Demo-Persistenzeinheit mithilfe von NetBeans, einer Entität mit der Datenbank und einer Sitzungsbohne aus der Entität erstellt.

Schritt 1: Wir fügen den folgenden Code in pom.xml od ddemoproj hinzu (d. H. Das Master-Projekt):

generasacodicetagpre.

schritt zwei: Wir fügen das Folgende in Abhängigkeiten von pom.xml von demoproj-ejb hinzu:

generasacodicetagpre.

Fügen Sie diese in den Plugins-Abschnitt von demoproj-ejb hinzu:

generasacodicetagpre.

schritt drei: Lassen Sie uns die Testeinheit erstellen. Wenn wir eine normale IDE-Funktion verwenden, erhalten wir so etwas wie folgt:

generasacodicetagpre.

Jetzt müssen wir den generellen ACTIDICETAGCODE kurz vor dem Header der Klasse hinzufügen. Sie sollten den Standardkonstruktor entfernen und den folgenden Code in der Testklasse hinzufügen:

generasacodicetagpre.

Dann könnten Sie wie üblich einige Testmethoden hinzufügen. Die gesamte Testklasse könnte wie folgt aussehen:

generasacodicetagpre.

schritt vier: fast fertig, aber ein weiterer sehr wichtiger Ding ist übrig: Unter demoproj-ejb erstellen Sie generationstabelletagcode-Ordner und kopieren Sie dort generakoditicetagcode von @RunWith(Arquillian.class) und benennen Sie es mit dem generationspflichtigen Code.

Stellen Sie sicher, dass die Datenbank läuft, ein gültiger Treiber ist installiert, die korrekte Datenquelle wird verwendet, usw. In meinem Fall wurden die meisten Probleme durch solche Probleme verursacht.

das ist es! Jetzt sollten Sie sauber und auf dem generationspflichtigen Erstellen erstellen, und wenn alles in Ordnung ist, können Sie die normale NetBeans-Testfunktion verwenden, wie Sie verwendet werden. Genießen!

update Wenn Sie lieber eine Remote-Instanz verwenden (entweder auf einem Remote-Server oder einer laufenden Instanz auf demselben Computer), was ich aufgrund bestimmter Leistungsgewinn empfehle, sollten Sie die folgenden Teile von ändern Der Code:

in pom.xml im Master-Projekt:

Exchange:

generasacodicetagpre.

Entfernen:

generasacodicetagpre.

tun Sie dann dasselbe in pom.xml von demoproj-ejb.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top