项目作者: heckenmann

项目描述 :
Beispiel, wie man testng-Tests mithilfe von Arquillian auf Wildfly in einem Docker-Container ausführt
高级语言: Java
项目地址: git://github.com/heckenmann/arquillian-cube-wildfly.git
创建时间: 2016-03-12T20:14:34Z
项目社区:https://github.com/heckenmann/arquillian-cube-wildfly

开源协议:

下载


Build Status
Quality Gate
Technical debt ratio

TestNG mithilfe von Arquillian auf Wildfly im Docker-Container

Arquillian hat eine Erweiterung erhalten, mit der es möglich ist, aus einem (Maven-) Projekt heraus Docker-Container zu bauen und zu steuern: Arquillian Cube. So können die Tests abgeschottet in eigenen Container laufen. Nach den Tests werden die Container auf Wunsch gelöscht und beim nächsten Durchlauf wieder automatisch erstellt.

In diesem Beispiel wird TestNG als Testframework verwendet, um eine EJB auf einer Wildfly-Installation zu testen, die sich in einem Docker-Container befindet.
Dieses Projekt wurde in folgender Umgebung erstellt:

  • Ubuntu 16.04
  • Docker Version 1.12.3
  • Wildfly 10
  • Java 1.8.0_74

Voraussetzung für die Durchführung ist ein gestarteter Docker-Service. Damit Arquillian Cube auf den Docker-Dienst zugreifen kann, muss die Docker-Konfiguration erweitert werden. In der Datei

  1. /etc/default/docker

bzw.

  1. /lib/systemd/system/docker.service

wird bei den DOCKER_OPTS folgendes ergänzt:

  1. DOCKER_OPTS="-H tcp://127.0.0.1:2375 -H unix:///var/run/docker.sock"

Falls die Maschine, auf der Docker läuft, eine andere ist, als die, auf der das Projekt gebaut wird, muss bei der IP 0.0.0.0 eingetragen werden. Nach der Konfiguration startet man Docker neu.

Wenn die Maschine, auf der Docker läuft, dieselbe ist, kann das Projekt geklont werden und ohne weitere Anpassungen gebaut werden. Falls nicht, muss die Datei

  1. /src/test/resources/arquillian.xml

angepasst werden.
In diesem Ordner liegt auch das Dockerfile, das das Docker-Image definiert.

Der Test befindet sich im Ordner

  1. /src/test/java/meinetests

Oder direkt mit

  1. git clone https://github.com/heckenmann/arquillian-cube-wildfly
  2. mvn clean install

klonen und bauen.

Quellen: