变色龙引导_Arquillian变色龙。 简化您的Arquillian测试

变色龙引导

Arquillian Chameleon的诞生是为了简化Arquillian测试的配置。 我很自豪地宣布,使用1.0.0.CR2版本,我们不仅简化了Arquillian测试的配置方式,而且简化了编写方式。

在此新版本中,添加了三个新的简化:

  • 您只需要使用1个(或最多2个依赖项,以防您想使用自动部署功能)
  • 不必添加任何依赖关系来定义要用于运行测试的应用程序服务器。 甚至不必使用arquillian.xml文件来定义它。
  • 不必使用ShrinkWrap来构建您的程序包。 您仍然可以使用它,但是可以将创建程序包的过程委托给自定义SPI。

因此,让我们开始吧。

相依性

您只需要添加一个依赖关系,而不再需要添加Arquillian依赖关系+容器依赖关系。

<dependency><groupId>org.arquillian.container</groupId><artifactId>arquillian-chameleon-junit-container-starter</artifactId><version>${arquillian.chameleon.version}</version><scope>test</scope>
</dependency>

容器的定义

@RunWith(ArquillianChameleon.class)
@ChameleonTarget("wildfly:11.0.0.Final:managed")
public class GameResourceRestApiTest {
}

您只需要使用ArquillianChameleon运行器和特殊注释@ChameleonTarget即可定义要使用的容器。 在此示例中,配置了具有托管模式的Wildfly 11

运行此测试时,将使用Arquillian Wildfly依赖项配置classpath,下载应用程序服务器,然后像其他Arquillian测试一样运行。

您可以在https://github.com/arquillian/arquillian-container-chameleon#arquillian-chameleon-runner中了解有关此功能的更多信息。

自动部署

Arquillan允许您定义Java SPI来描述应如何创建档案。 这实际上意味着,如果您提供自动创建部署文件的实现,则不需要@Deployment方法。

Arquillian Chameleon目前提供两种实现:

  1. 文件,文件部署已创建的文件。 您需要设置文件的位置。
  2. 它运行使用嵌入的Maven该项目的构建和生成的存档Maven是作为部署档案库。

对于本示例,我将以多模块项目为例,但是请注意,如果您创建一个无多模块项目,则默认设置可以完美地工作。

<dependency><groupId>org.arquillian.container</groupId><artifactId>arquillian-chameleon-maven-build-deployment</artifactId><version>${arquillian.chameleon.version}</version><scope>test</scope>
</dependency>
@RunWith(ArquillianChameleon.class)
@ChameleonTarget("wildfly:11.0.0.Final:managed")
@MavenBuild(pom = "../../pom.xml", module = "gamepage/impl")
@DeploymentParameters(testable = false)
public class GameResourceRestApiTest {@ArquillianResourceURL url;
}

注意,根据您选择的方法( FileMaven ),您需要在类路径上添加实现。

在这种情况下,我选择使用Maven方法,这意味着归档是通过构建所有项目来生成的。

由于示例的缘故,该测试有两件事需要定制(而不是默认设置)。

第一个是pom位置。 默认情况下, @ MavenBuild批注使用执行测试的pom.xml。 对于多模块项目,您不想从定义测试的模块运行构建,而要从项目的根目录运行,因此您将获得一个包含所有依赖项的完整存档。 对于这种情况,您需要将其设置在何处。

第二个是生成用于部署的存档的位置。 默认情况下,您无需指定任何内容,因为在没有多模块项目的情况下,您仅生成一个文件。 但是在多模块项目的情况下,您将生成多个归档,因此需要指定哪个模块包含最终归档。

就是这样,当您运行此测试时, Arquillian将下载Wildfly,启动它,运行构建以获取最终的部署文件(例如.war),对其进行部署并最终运行该测试。

请注意,还没有强制使用@DeploymentParameters批注,但允许您像使用@Deployment批注一样配置部署,例如设置部署名称或将容器(默认容器)的模式更改为作为客户。

您可以在以下位置查看完整示例: https : //github.com/lordofthejars/games-monolith/blob/master/gamepage/impl/src/test/java/org/lordofthejars/games/game/GameResourceRestApiTest.java

您也可以在https://github.com/arquillian/arquillian-core/blob/master/docs/deployment-archives.adoc#deployment-archives-using-java-spi上了解有关自动部署功能的更多信息。

结论

您会看到一切都已简化很多。 这个想法是为了提供您在运行Spring测试时获得的类似体验。

我们不断学习,

亚历克斯

翻译自: https://www.javacodegeeks.com/2018/03/arquillian-chameleon-simplifying-your-arquillian-tests.html

变色龙引导

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

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

相关文章

Linux 命令之 eval -- 对参数执行两次解释

文章目录一、命令介绍二、选项参数三、命令示例&#xff08;一&#xff09;输出文件的内容&#xff08;二&#xff09;统计当前目录下的文件总数&#xff08;三&#xff09;输出变量的值及给变量赋值一、命令介绍 功能说明&#xff1a;重新运算求出参数的内容。 命令语法&…

设置图像的title_【HTML】2 图像标签和属性

1、图像标签和属性图像标签&#xff1a;<img>标签引入外部图片文件&#xff0c;并进行显示&#xff0c;单标签&#xff0c;不需要成对出现。属性&#xff1a;属于标签的特性。标签要通过属性来定义所希望的设置参数。2、应用案例<!DOCTYPE html> <html lang&quo…

jvm体系结构概述_JVM体系结构:JVM和JVM体系结构概述

jvm体系结构概述各位读者好&#xff01; 在本教程中&#xff0c;我们将了解和学习Java虚拟机&#xff08;JVM&#xff09;及其体系结构。 本教程将帮助您正确回答以下问题&#xff1a; Java中的JVM是什么&#xff1f; JVM的不同组件 JVM&#xff0c;JRE和JDK之间的区别 1.简…

Linux 命令之 declare -- 声明或显示 shell 变量

文章目录一、命令介绍二、命令格式三、命令选项四、命令示例&#xff08;一&#xff09;声明变量并赋值&#xff08;二&#xff09;将变量设置为环境变量&#xff08;三&#xff09;将变量设置为只读&#xff0c;不可修改&#xff08;四&#xff09;将变量声明为整数并进行计算…

mysql数据库应用_MySQL数据库应用 从入门到精通 学习笔记

以下内容是学习《MySQL数据库应用 从入门到精通》过程中总结的一些内容提要&#xff0c;供以后自己复现使用。一&#xff1a;数据库查看所有数据库:SHOW DATABASES创建数据库:CREATE DATABSE database_name切换数据库:USE database_name删除数据库:DROP DATABASE database_name…

Linux 命令之 env -- 显示系统的环境变量,定义执行命令时的环境变量

文章目录一、命令介绍二、选项参数三、命令示例&#xff08;一&#xff09;显示系统的环境变量&#xff08;二&#xff09;从当前环境中删除指定的变量&#xff08;三&#xff09;定义指定的环境变量&#xff08;四&#xff09;在一个修改后的环境下执行命令一、命令介绍 env命…

aws lambda_跑来跑去:假人与AWS Lambda的第一次接触

aws lambda这一切始于埃及人在一个木框上滑动几块大理石以简单的算术使其大脑放松的时候。 或许是希腊人发明了Antikythera机制来追踪行星的运动至每千年2度的精度 。 无论哪种方式&#xff0c;计算都已经走了很长一段路&#xff1a;查尔斯巴贝奇的分析引擎 &#xff0c;艾伦图…

Linux 命令之 set -- 显示或设置 shell 特性及 shell 变量

文章目录一、命令介绍二、选项参数三、命令示例&#xff08;一&#xff09;开启/关闭特性&#xff08;二&#xff09;将普通变量设为环境变量一、命令介绍 set 命令作用主要是显示系统中已经存在的 shell 变量&#xff0c;设置 shell 变量的新变量值&#xff0c;可以把已有的变…

Linux 命令之 unset -- 删除指定的shell变量或函数

文章目录一、命令介绍二、选项参数三、命令示例&#xff08;一&#xff09;删除指定的环境变量一、命令介绍 unset 为 shell 内建指令&#xff0c;用于删除已定义的shell变量&#xff08;包括环境变量&#xff09;和shell函数。unset命令不能够删除具有只读属性的shell变量和环…

带有Jersey的RESTful Web服务的JAX-RS教程

在当今世界&#xff0c;数据起着非常重要的作用。 如此众多的应用程序将各种类型的数据用于不同的操作&#xff0c;所以最重要的方面是应用程序之间的通信。 当应用程序之间可以通信时&#xff0c;数据共享变得容易。 就像在亚洲运行的应用程序向在欧洲运行的应用程序提供数据…

mysql --force -f_Mysql_mysql force Index 强制索引

其他强制操作&#xff0c;优先操作如下&#xff1a;mysql常用的hint对于经常使用oracle的朋友可能知道&#xff0c;oracle的hint功能种类很多&#xff0c;对于优化sql语句提供了很多方法。同样&#xff0c;在mysql里&#xff0c;也有类似的hint功能。下面介绍一些常用的。强制索…

Linux 查看文件位置/查看文件路径的命令

which 查看可执行文件的位置find 实际搜寻硬盘查询文件名称whereis 查看文件的位置locate 配合数据库查看文件的位置

抽象工厂模式设计模式_创新设计模式:抽象工厂模式

抽象工厂模式设计模式抽象工厂模式是一种创新模式&#xff0c;是与构建器和工厂模式一起最受欢迎的模式之一。 使用创建模式是为了创建对象&#xff0c;而不是直接使用构造函数创建对象。 抽象工厂模式提供了一种封装一组具有共同主题的单个工厂而无需指定其具体类的方法。 采…

dubbo protocol port 消费者端_Dubbo源码:搞定URL,就走完了进度条的一半

Dubbo 中的 URL大家都知道&#xff0c;在互联网领域&#xff0c;每个信息资源都有统一的且在网上唯一的地址&#xff0c;该地址就叫 URL&#xff08;Uniform Resource Locator&#xff0c;统一资源定位符&#xff09;&#xff0c;它是互联网的统一资源定位标志&#xff0c;也就…

swarm 容器_Oracle应用容器云上的WildFly Swarm

swarm 容器在此博客文章中&#xff0c;我将描述如何将打包在WildFly Swarmber -jar中的CloudEE Duke应用程序部署到Oracle Application Container Cloud 。 在Oracle Application Container Cloud中进行部署所需的部署工件是一个ZIP归档文件&#xff0c;其中包含应用程序ber-j…

mysql数据库文件还原数据库_MySql通过数据库文件恢复数据库

以表”Table”为例:如类型是MyISAM, 数据文件则以”Table.frm””Table.MYD””Table.MYI””三个文件存储于”/data/$databasename/”目录中.如类型是InnoDB, 数据文件则存储在”$innodb_data_home_dir/″中的ibdata1文件中(一般情况)&#xff0c;结构文件存在于table_name.fr…

yum 如何知道从哪里下载包?

包来自什么地方呢&#xff1f;yum 如何知道从哪里下载包&#xff1f;起点是 /etc/yum.repos.d/ 目录&#xff0c;这个目录常常包含几个 repo 文件。这是 repo 的默认位置&#xff0c;但是可以在 YUM 配置文件&#xff08;通常是 /etc/yum.conf&#xff09;中指定其他位置。清单…

mysql主从修改系统参数步骤_mysql主从配置的参数配置与步骤_MySQL

mysql主从配置的参数配置与步骤_MySQL主从配置的步骤&#xff1a;在主库建立要同步的数据库,建立主库的帐号和修改主备库配置create database web default character set utf8grant replication slave on *.* to repdcssub192.168.191.112 identified by 123456;grant all priv…

javascript 解密_Javascript中的AES加密和Java中的解密

javascript 解密AES代表高级加密系统&#xff0c;它是一种对称加密算法&#xff0c;很多时候我们需要在客户端加密一些纯文本&#xff0c;例如密码&#xff0c;然后将其发送到服务器&#xff0c;然后由服务器解密以进行进一步处理.AES加密和解密更加容易在相同的平台&#xff0…

英文标点符号大全

标点符号英文中文名称未知反撇号’apostrophe撇号&#xff0c;缩写及所有格符号plus加号&#xff1b;正号-minus减号&#xff1b;负号plus or minus正负号is multiplied by乘号is divided by除号&#xff1d;is equal to等于号≠is not equal to不等于号≡is equivalent to全等…