Historique de la page
Sv translation | ||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||
ConfigurationLe fichier services.jsonLe fichier Maven lancera les containers présent dans le fichier avant de lancer les tests et les arrêtera après. Par exemple pour deux images docker, une pour la bd postgres et une pour un elasticsearch, le fichier contient :
Le fragment net.bluemind.pool.dockerconfigCe fragment permet de surcharger (remplacer) la classe Si le fragment est actif (non fermé) et que le projet de tests comporte un fichier Quand on fait tourner les tests dans Eclipse et qu'on veut utiliser les services fournis par une machine virtuelle BlueMind (postgres, elasticsearch etc..), il suffit de fermer le fragment. Les fichiers de configuration traditionnels prendront alors le relai ( Configuration mavenLa configuration maven des projets de tests répertorie les differents plugins nécessaires au lancement des tests :
Jouer les tests depuis DockerInstaller docker (préférer les paquets téléchargeables sur docker.com plutôt que les paquets fournis avec les distributions). Mettre docker en écoute sur un socket, par exemple sur Debian/Ubuntu :
Sur la machine de développement, celle où se trouve Eclipse et les sources BlueMind, il faut ensuite indiquer quel service Docker utiliser en créant le fichier
Par la suite, ce sont les containers Docker qui devront-être accessibles depuis Eclipse. Il sera peut-être nécessaire d'ajouter une route sur la machine Eclipse pour accéder au réseau des containers. D'autres méthodes possibles sont consultable sur le git docker-java. Les images DockerIl est actuellement nécessaire d'installer les images en local (sur le docker qui est utilisé pour les tests). Les images se trouvent dans le projet
Connecter des répertoires locaux en tant que volumes DockerCela se fait via un tableau (Array) "volumes". Par exemple pour connecter le répertoire local "
Dans le DockerFile d'images docker, il faut en plus ajouter le VOLUME :
Jouer les tests depuis EclipseConstruire une première fois le projet BlueMind :
Démarrer les containers Docker nécessaires :
Enfin, lancer les tests dans Eclipse.
Tester sans container OSGI (Junit)Les classes nommées Cela revient à lancer des tests dans Eclipse avec «Run as Junit Test»(au contraire de «Run as Junit Plugin Test») et résout des problèmes de Classpath avec des Frameworks de Mocking proxy based, comme Mockito. Les tests s'exécutent aussi plus vite. |
Sv translation | ||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||
KonfigurationDie Datei services.jsonDie Datei Maven wird die Container in der Datei starten, bevor die Tests ausgeführt werden und sie danach stoppen. Am Beispiel von zwei Docker-Images, eines für die Postgres-Bd und eines für eine Elasticsearch, enthält die Datei:
Das Fragment net.bluemind.pool.dockerconfigDieses Fragment ermöglicht es, die Klasse Wenn das Fragment aktiv (nicht geschlossen) ist und das Testprojekt eine Wenn Sie die Tests in Eclipse ausführen und die von einer virtuellen BlueMind-Maschine bereitgestellten Dienste (Postgres, Elasticsearch usw.) nutzen möchten, kann das Fragment einfach geschlossen werden. Die traditionellen Konfigurationsdateien werden dann übernommen Maven-KonfigurationDie Maven-Konfiguration von Testprojekten listet die verschiedenen Plugins auf, die zum Starten der Tests benötigt werden:
Tests ab Docker ablaufen lassenInstallieren Sie Docker (bevorzugen Sie Pakete, die Sie von docker.com herunterladen können, und nicht die Pakete, die mit den Distributionen geliefert werden). Docker lauscht an einem Socket, z.B. unter Debian/Ubuntu:
Auf dem Entwicklungsrechner, auf dem sich Eclipse und die BlueMind-Quellen befinden, müssen Sie angeben, welcher Docker-Dienst verwendet werden soll, indem Sie die Datei
Anschließend müssen die Docker-Container von Eclipse aus zugänglich sein. Möglicherweise muss auf dem Eclipse-Rechner eine Route hinzugefügt werden, um auf das Container-Netzwerk zugreifen zu können. Andere mögliche Methoden sind auf git docker-java verfügbar. Docker-ImagesDerzeit ist es erforderlich, die Images lokal zu installieren (auf dem Docker, der zum Testen verwendet wird). Die Images sind im Projekt
Lokale Verzeichnisse als Docker-Volumes verbindenDies geschieht über eine Tabelle (Array) von "Volumes". Um z.B. das lokale Verzeichnis "
In der DockerFile von Docker-Images muss auch das VOLUME hinzugefügt werden:
Tests ab Eclipse ablaufen lassenErstmalige Erstellung des BlueMind-Projekts:
Starten Sie die notwendigen Docker-Container:
Führen Sie schließlich die Tests in Eclipse aus.
Testen ohne OSGI-Container (Junit)Klassen mit dem Namen Dies entspricht dem Ausführen vonTests in Eclipse mit "Run as Junit Test“ (im Gegensatz zu "Run as Junit Plugin Test") und löst Classpath-Probleme mit Mocking-Proxy-basierten Frameworks, wie Mockito. Die Tests laufen außerdem schneller. |