为了简单起见,Arquillian Chameleon

使用Arquillian时,您需要做的一件事就是定义要在哪个容器下执行所有测试。

这是通过在适配器的类路径中添加依赖项并取决于所使用的模式(嵌入式,托管或远程)来下载的来完成的。 变色龙sleepy-jpg-adapt-945-1 手动安装应用程序服务器。 例如,当在嵌入式或托管模式下使用Wildfly时,就会发生这种情况。

使用Wildfly的pom.xml的示例可能是:

<dependencies><dependency><groupId>org.wildfly</groupId><artifactId>wildfly-arquillian-container-managed</artifactId><version>${version.org.wildfly}</version><scope>test</scope></dependency>
</dependencies><build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-dependency-plugin</artifactId><executions><execution><id>unpack</id><phase>process-test-classes</phase><goals><goal>unpack</goal></goals><configuration><artifactItems><artifactItem><groupId>org.wildfly</groupId><artifactId>wildfly-dist</artifactId><version>${version.org.wildfly}</version><type>zip</type><overWrite>false</overWrite><outputDirectory>${project.build.directory}</outputDirectory></artifactItem></artifactItems></configuration></execution></executions></plugin></plugins>
</build>

注意,在先前的脚本中,您需要定义Arquillian适配器(在本例中为托管适配器),并使用maven-dependency-plugin下载Arquillian使用的Wildfly分发文件。

这种方法是好的并且行之有效,但是它具有三个缺点:

  1. 您需要在要使用Arquillian和Wildfly的每个构建脚本中重复所有这些行。
  2. 如果需要在另一个项目中使用另一个应用程序服务器,则需要知道需要哪个适配器工件,以及是否需要下载工件。 例如,如果嵌入了Jetty,则无需下载任何发行版,只需设置嵌入的依赖项即可。
  3. 如果要针对多个应用程序服务器测试代码,则问题编号为2,并且开始处理配置文件。
但是,使用Arquillian Chameleon可以解决所有这些问题。 Arquillian Chameleon是一个通用容器,它从arquillian.xml读取要在测试中使用的容器,哪个版本和哪种模式,他将负责将所需的适配器添加到类路径中,下载所需的所有发行版并配置协议(此操作是您不应触摸的用户)。
如何使用Arquillian Chameleon非常简单。 做通常的事情,例如添加Arquillian bom和添加Chameleon Container而不是任何应用程序服务器特定的工件:
<dependency><groupId>org.arquillian.container</groupId><artifactId>arquillian-container-chameleon</artifactId><version>1.0.0.Alpha7</version><scope>test</scope>
</dependency>

然后在src / test / resources创建名为arquillian.xmlArquillian配置文件,并进行以下配置:

<?xml version="1.0"?>
<arquillian xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns="http://jboss.org/schema/arquillian"xsi:schemaLocation="http://jboss.org/schema/arquillianhttp://jboss.org/schema/arquillian/arquillian_1_0.xsd"><container qualifier="chameleon" default="true"><configuration><property name="chameleonTarget">wildfly:9.0.0.Final:managed</property></configuration></container></arquillian>

注意,现在您只需要使用一个友好的属性chameleonTarget来定义要使用的容器,版本和模式。 在前面的示例中, Wildfly 9.0.0.Final具有托管适配器。

当使用此配置运行任何测试时, Chameleon将检查是否已下载Wildfly 9.0.0.Final发行版,如果未下载最终发行版,则会将Wildfly 9.0.0的托管适配器添加到类路径中,并最终像其他Arquillian一样执行测试测试。

如果要使用Payara而不是Wildfly会发生什么? 您只需要将chameleonTarget属性更改为payara:4.1.1.163:managed,例如以托管模式针对Payara 4.1.1运行测试。

提示:您可以使用Java系统属性(-Darq.container.chameleon.chameleonTarget = payara:4.1.1.163:managed)来设置此属性,目前, 变色龙支持下一个容器:
  • JBoss EAP 6.x,7.x
  • WildFly 10.x,9.x,8.x
  • JBoss AS 7.x
  • GlassFish 3.1.2、4.x
  • Payara 4.x

我们不断学习,
亚历克斯

我可以看到你,你的棕色皮肤在阳光下闪闪发光,我看到你走路真的很慢(夏天的男孩– Ataris)

音乐: https : //www.youtube.com/watch?v = Qt6Lkgs0kiU


翻译自: https://www.javacodegeeks.com/2016/09/arquillian-chameleon-sake-simplicity.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/352448.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

matlab 读取文件夹底下所有txt文件

读取matlab 文件夹底下所有的txt 文件包括子文件夹底下的文件。 dirsdir(H:\DCE); for i1:length(dirs); if (dirs(i).isdir && ~strcmp(dirs(i).name,.) && ~strcmp(dirs(i).name,..) ) str_path[H:\DCE\, dirs(i).name]; filedir([str_path,\*.txt]);…

BZOJ4856 JSOI2016 病毒感染 区间DP

传送门 原Word文档 题意&#xff1a;太长不给 这种题目一看就是区间DP 设$f_i$表示治愈了前$i$个村子的时候最少死了多少村民&#xff0c;又设前缀和为$sum_i$&#xff0c;通过枚举折返时最后经过的村子$j$&#xff0c;并且提前计算$i1$到$N$中死的村民数量&#xff0c;可以得到…

go get 的不再src目录中_Go 每日一库之 sqlc:根据 sql 生成代码

简介在 Go 语言中编写数据库操作代码真的非常痛苦&#xff01;database/sql标准库提供的都是比较底层的接口。我们需要编写大量重复的代码。大量的模板代码不仅写起来烦&#xff0c;而且还容易出错。有时候字段类型修改了一下&#xff0c;可能就需要改动很多地方&#xff1b;添…

查看linux服务器的系统信息

查看linux服务器的系统信息新接手了几台linux的服务器,第一步当然是要了解这些服务器的软硬件配置.现在就写出我这次用的一些命令.首先当然要取得机器的IP,用户名和密码(呵呵,不知道就找原来的管理员要哈)登陆之后,首先看到的就是机器的名称,一般提示符就有了,如[rootlocalhost…

Windows下更改MySQL数据库的存储位置

一.同一主机下位置的转移 在mysql安装完成后&#xff0c;要修改数据库存储的位置&#xff0c;比如从安装目录下的C:\Program Files\MySQL\MySQL Server 5.0\Data文件夹转移到D:\mySQLData文件夹。 1、在D:\下新建mySQLData文件夹 2、停止MySQL服务&#xff0c;将C:\Program Fil…

apk去除签名验证工具安卓版_App 签名过期或泄露怎么办?别担心,Google 已经给出解决方案!...

一、序在将 App 发布到市场之前&#xff0c;很重要的一个步骤就是为 APK 进行签名&#xff0c;大部分时候&#xff0c;这个操作隐藏在了打包的流程中&#xff0c;而不被我们注意到。签名的作用&#xff0c;除了证明 App 的所有权之外&#xff0c;还可以帮助 Android 市场和设备…

初入WEBOTS半个月来的一点总结

对于我这一个从十一假期结束后才刚刚接触webots的小白来说&#xff0c;webots简直就是一个噩梦。在这里记录一下噩梦的发展历程。 在最初安装webots时就遇到了麻烦。安装7.0.3总是出问题。程序找不到接入点。替换dll文件也没有用更新运行库也不行。最好索性重新买固态硬盘做了个…

skype 回放设备出现问题

最近用skype拨打电话换台电脑会出现“回放设备出现问题”&#xff0c;拨通号码后会自动跳掉无法拨通 一直更新声音驱动器&#xff0c;结果发现跟声卡驱动半毛钱关系都没有&#xff0c;是要插入耳麦。

sonar java_修复Sonar中常见的Java安全代码冲突

sonar java本文旨在向您展示如何快速修复最常见的Java安全代码冲突。 它假定您熟悉代码规则和违规的概念以及Sonar如何对其进行报告。 但是&#xff0c;如果您以前从未听过这些术语&#xff0c;则可以阅读Sonar Concepts或即将出版的有关Sonar的书 &#xff0c;以获取更详细的解…

linux服务器性能查看

################### cpu性能查看 ############################################################1、查看物理cpu个数&#xff1a;cat /proc/cpuinfo |grep "physical id"|sort|uniq|wc -l2、查看每个物理cpu中的core个数&#xff1a;cat /proc/cpuinfo |grep "…

android sdk 安装_Appium+python自动化1-环境安装(上)

前言appium可以说是做app自动化测试最火的一个框架&#xff0c;它的主要优势是支持android和ios&#xff0c;另外脚本语言也是支持java和Python。小编擅长Python&#xff0c;所以接下来的教程是appiumpython的实例。学习appium最大的难处在于环境的安装&#xff0c;80%的人死于…

Mean

题目描述 NiroBC 是猫咪学堂一年级的新生&#xff0c;开学第一天&#xff0c;学堂组织了一场迎新会&#xff0c;在 迎新会上&#xff0c;猫咪们会互相赠送礼物。 一年级的新生共有 N 只猫咪&#xff0c;编号为 1 . . . N&#xff08;包括 NiroBC 自己&#xff09;&#xff0c;其…

如何开启mysql计划事件

首先在sql中查询计划事件的状态&#xff1a;SHOW VARIABLES LIKE event_scheduler如果返回的是off表示当前是关闭状态&#xff0c;如果是on当前已经开启了计划任务。在mysql程序的目录下找到my.ini文件&#xff0c;添加一个项&#xff1a;event_scheduler 1保存后重启mysql服务…

在Java等于方法中进行精确比较

多年来&#xff0c;我一直在处理旧版Java代码&#xff0c;因此遇到了微妙的逻辑和性能问题&#xff0c;这些问题可以追溯到不正确覆盖的Object.equals&#xff08;Object&#xff09;方法。 尽管“等于”方法背后的概念看似简单&#xff0c;但Josh Bloch在《 有效Java》中指出&…

python爬虫网络出错怎么办_Python爬虫常见问题

第一个问题&#xff1a;JS加密如何突破 (1) 熟练掌握Chrome的开发者工具的各个功能&#xff0c;Elements&#xff0c; Network&#xff0c;Source (2) 认真观察&#xff0c;善于思考。Network查看加载流程&#xff0c;找可疑的xhr请求&#xff0c;设置xhr断点&#xff0c;通过C…

Linux Top 命令解析 比较详细

TOP命令是Linux下常用的性能分析工具&#xff0c;能够实时显示系统中各个进程的资源占用状况。 TOP是一个动态显示过程,即可以通过用户按键来不断刷新当前状态.如果在前台执行该命令,它将独占前台,直到用户终止该程序为止.比较准确的说,top命令提供了实时的对系统处理器的状态监…

用webstorm在chrome 调试页面时一直弹出 copy authorization url to clipboard

用chrome来调试页面&#xff0c;每次刷新会弹出 requested without authorization, 是因为更新后的bug&#xff0c;可以在Setting - debugger中设置 转载于:https://www.cnblogs.com/dxxzst/p/WebStorm.html

2003 cant connect to MySQL server on 'XXX.XXX.XXX.XXX'

数据库在配置正常并且也配置了mysql 在局域网上互相访问的用户和ip但是会出现2003 cant connect to MySQL server on XXX.XXX.XXX.XXX ,本地机子连接一切正常但是局域网其他机器就是无法连接。通过检测发现是电脑的防火墙问题&#xff0c;关闭防火墙后电脑上的数据库就可以被局…

C++插入中文到mysql乱码

C 插入中文字符到mysql数据库出现乱码&#xff0c;奇怪的是直接在数据库写查询语句直接进行插入&#xff0c;是不会出现乱码 然后就根据一些材料把数据库&#xff0c;得编码形式改为gb2312但是结果仍然乱码中&#xff08;设置my.ini中的字符集&#xff09;。 猜想 有可能是C和…

mountain_OS X Mountain Lion上的多个Java版本

mountain在Mountain Lion之前&#xff0c;Java被捆绑在OS X中。似乎在升级期间&#xff0c;我在计算机上安装的Java 6版本被删除了。 显然&#xff0c;在升级过程中卸载Java的原因是Java运行时存在的安全问题。通过这种方式&#xff0c;您不得不安装可解决此安全问题的最新版本…