青岛城市建设档案馆网站,网站做百度推广的要求,互联网是做什么工作的,网站开发读什么专业变色龙引导Arquillian Chameleon的诞生是为了简化Arquillian测试的配置。 我很自豪地宣布#xff0c;使用1.0.0.CR2版本#xff0c;我们不仅简化了Arquillian测试的配置方式#xff0c;而且简化了编写方式。 在此新版本中#xff0c;添加了三个新的简化#xff1a; 您只… 变色龙引导 Arquillian Chameleon的诞生是为了简化Arquillian测试的配置。 我很自豪地宣布使用1.0.0.CR2版本我们不仅简化了Arquillian测试的配置方式而且简化了编写方式。 在此新版本中添加了三个新的简化 您只需要使用1个或最多2个依赖项以防您想使用自动部署功能 不必添加任何依赖关系来定义要用于运行测试的应用程序服务器。 甚至不必使用arquillian.xml文件来定义它。 不必使用ShrinkWrap来构建您的程序包。 您仍然可以使用它但是可以将创建程序包的过程委托给自定义SPI。 因此让我们开始吧。 相依性 您只需要添加一个依赖关系而不再需要添加Arquillian依赖关系容器依赖关系。 dependencygroupIdorg.arquillian.container/groupIdartifactIdarquillian-chameleon-junit-container-starter/artifactIdversion${arquillian.chameleon.version}/versionscopetest/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目前提供两种实现 文件该文件部署已创建的文件。 您需要设置文件的位置。 它运行使用嵌入的Maven该项目的构建和生成的存档Maven是作为部署档案库。 对于本示例我将以多模块项目为例但是请注意如果您创建一个无多模块项目则默认设置可以完美地工作。 dependencygroupIdorg.arquillian.container/groupIdartifactIdarquillian-chameleon-maven-build-deployment/artifactIdversion${arquillian.chameleon.version}/versionscopetest/scope
/dependencyRunWith(ArquillianChameleon.class)
ChameleonTarget(wildfly:11.0.0.Final:managed)
MavenBuild(pom ../../pom.xml, module gamepage/impl)
DeploymentParameters(testable false)
public class GameResourceRestApiTest {ArquillianResourceURL url;
} 注意根据您选择的方法 File或Maven 您需要在类路径上添加实现。 在这种情况下我选择使用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变色龙引导