我想创建在Docker容器中的Wildfly服务器上运行的Arquillian测试。
我已经编写了部署在远程 Wildfly上的Arquillian测试。
当我设置一个未更改的空的独立Wildfly服务器时,Arquillian会部署测试+相关的耳朵,然后它们会毫无问题地运行。真棒!
下一步是将 Wildfly放入Docker容器,让我的Arquillian测试在容器化的Wildfly上运行。据我所知,我必须确保
我想我已经正确地做到了。当我运行Docker镜像时,
当我运行测试时,我得到了
Caused by: javax.security.sasl.SaslException: Authentication failed: all available authentication mechanisms failed
很奇怪,因为我可以在浏览器中访问管理控制台。
有人看到我的疏忽吗?我忘了什么吗?
version: '2'
services:
arquillian-cube-wildfly-test:
build: .
ports:
- "8080:8080"
- "9990:9990"
- "8787:8787"
# Base image: Wildfly 10 with 8080 port exposed
FROM jboss/wildfly:10.1.0.Final
# Open management port
EXPOSE 9990
EXPOSE 8787
# Add management user with password
RUN /opt/jboss/wildfly/bin/add-user.sh admin admin --silent
# Set the default command to run on boot
# This will boot WildFly in the standalone mode and bind to all interface
CMD ["/opt/jboss/wildfly/bin/standalone.sh", "-b", "0.0.0.0", "-bmanagement", "0.0.0.0"]
结帐https://github.com/stainii/arquillian-cube-and-multiple-deployments-experiment。 这是一个包含
的多模块Maven项目运行此:
docker-compose up
。mvn clean dependency:copy-dependencies install
开始测试。将构建2个webapps,将他们的耳朵复制到测试项目的目标,Arquillian测试将部署这些耳朵并运行测试。答案 0 :(得分:2)
您的项目有两个问题。
1. arquillian.xml中的配置错误。检查https://git.io/vNaYu以获取arquillian.xml的正确配置
2.您在个人资料arq-widlfly-remote
中使用旧版本的arquillian-container。它应该是
<dependency>
<groupId>org.wildfly.arquillian</groupId>
<artifactId>wildfly-arquillian-container-remote</artifactId>
<version>2.0.0.Final</version>
<scope>test</scope>
</dependency>