Ich versuche, eine Anwendung ausgehend von einem Appfuse Archetype zu erstellen, aber ich bekomme einige seltsame Probleme. Einmal möchte ich eine hsqldb für automatisierte Komponententests und Integrationstests verwenden, und eine mysql db für meine manuellen Tests, damit ich die Daten bei Bedarf leicht manipulieren kann. Es wäre also schön, automatisch Profile während des Tests zu wechseln Testphasen. Gibt es eine Möglichkeit, das zu tun?Verwenden Sie ein alternatives Maven-Profil während der Testphase
3
A
Antwort
7
Ich bin mir nicht sicher, ob dies genau das ist, wonach Sie fragen, aber Sie können Folgendes tun, um mehrere Filter für Ihr Maven-Projekt einzurichten.
<filters>
<filter>/your/path/filter-${env}.properties</filter>
</filters>
Auf diese Weise können mehrere Profile Setup verwenden, können:
<profiles>
<profile>
<id>local</id>
<properties>
<env>local</env>
</properties>
</profile>
<profile>
<id>test</id>
<properties>
<env>test</env>
</properties>
</profile>
</profiles>
Sie können dann den Build mit der entsprechenden Eigenschaft Datei ausgeführt werden:
mvn -P <profile id>
Dies würde mit Eigenschaftsdateien erfordern befindet um:
/your/path/filter-local.properties
/your/path/filter-test.properties
2
Nicht sicher, ob dies Ihnen überhaupt helfen kann, aber Sie können alternative Ressourcendateien im Ordner/src/test/resources angeben, die die in/src/main/resources überschreiben, wenn nur Tests ausgeführt werden.
Ich definiere hier eine alternative Datei namens placeholders.properties, um eine andere db-Verbindung anzugeben, die von der Testphase verwendet werden soll.
Verwandte Themen
- 1. SilverlightSpy alternatives Tool
- 2. Verwenden Sie modernizr, um ein alternatives Hintergrundbild für Browser ohne Webgl-Unterstützung bereitzustellen?
- 3. Verwenden Sie Berichtskomponenten mehrmals während der Berichterstellung?
- 4. Python re - alternatives Ersatzmuster
- 5. C++ alternatives Mitglied Definition
- 6. Alternatives Ein-/Ausblenden-Fenster, wenn auf das Benachrichtigungssymbol geklickt wird
- 7. Ist es möglich, ein alternatives Zeichen mit CSS anzuzeigen?
- 8. NSButton zeichnen alternatives Bild auf Klick
- 9. WPF: So implementieren Sie Joystick als alternatives Eingabegerät (C#)
- 10. Kann Tycho-todsichere Version in der Testphase konfiguriert werden?
- 11. Wie wird ein alternatives Spaltenelement vom Befehl intersect zurückgegeben?
- 12. ui bootstrap datepicker alternatives Datumsformat
- 13. zeigen alternatives Bild von Servlet
- 14. Programm zu prüfen, ob die angegebene Ganzzahl ein alternatives Muster
- 15. Wie Sie mehr als ein Element anvisieren, während Sie Operatoren für ein onclick-Ereignis verwenden
- 16. Unterschied zwischen Trainings- und Testphase in Caffe
- 17. Verwenden Sie Process.Start während der Identitätswechsel (Window Application)
- 18. Verwenden Sie javaOptions von build.sbt während der Laufzeit
- 19. So verwenden Sie send.redirect() während der Arbeit mit Spring MVC
- 20. Implementieren einer kostenlosen Testphase mit PayPal
- 21. Android - Kodieren Sie ein Video während der Dekodierung
- 22. ein Zeichen ein Textfeld während der Eingabe
- 23. Verwenden von DrawRect-Strängen während der Orientierungsänderung
- 24. Vim - Map alternatives Tastenverhalten je nach Kontext
- 25. So schalten Sie den Bildschirm während der partiellen Wecksperre ein
- 26. Ändern Sie ein Bild während der Animation mit Storyboard
- 27. PHP fopen für URL: Alternatives auf Windows
- 28. Wie man eine benutzerdefinierte Testphase in Grails 3.x einführt
- 29. Erhalten Sie ein zusätzliches Komma ',' während concat
- 30. Nach Ablauf der 30-tägigen Testphase für TestFlight Beta ändert sich der Build-Status in Expired?
Während dies sicherlich ein guter Weg ist, um Property-Dateien von Maven-Ausführung zu Maven-Ausführung zu wechseln, hatte ich auf etwas detaillierteres gehofft. Ich möchte einfach mvn sauberen Anlegesteg ausführen: run oder ähnlich und dann Ressourcen sind mit Platzhaltern, die aus dem Testprofil kommen gefüllt, dann, wenn die Tests durchlaufen, möchte ich automatisch zu einem anderen Profil, dass wird dann verwendet, um die Platzhalter zu ersetzen und dann den Anlegestegserver zu starten. Grundsätzlich möchte ich die Komponententests auf einer anderen Datenbankkonfiguration ausführen :-) – cdecker
Ich sehe - also möchten Sie verschiedene Profile für verschiedene Phasen des Maven-Lebenszyklus verwenden? Ich bin mir nicht sicher, ob das möglich ist, aber wir werden sehen, ob jemand anderes antwortet. –
Sie können nicht unterschiedliche Profile für verschiedene Phasen desselben Laufs verwenden. Ich bin seit 2.0.3 Tagen auf dieses Problem gestoßen. Ich bekomme das mit mvn -PlocalTest clean package, mvn -PfullBuild clean package deploy. – sal