Arquillian:针对Java中间件的集成测试和功能性测试平台

Arquillian是一个针对JVM高度可扩展的新型测试平台。开发者可以用它对Java中间件方便地进行自动化集成测试、功能测试和验收测试。

主要功能

真实测试

Mock(模拟)通常是一种策略,但多数情况是在真实环境以外的情况下使用。Arquillian弃用了Mock转而使用真实的测试。这是因为Arquillian将测试加入到了运行时,可以让你访问容器资源,从而得到有意义的反馈并了解代码内部真实的运行情况。

便捷的IDE

为了尽可能降低学习曲线,Arquillian已经与你熟悉的工具进行了集成。你在使用JUnit编写单元测试吗?没问题,你可以利用掌握的JUnit知识进行集成测试。你更喜欢TestNG?没问题,Arquillian可以让你自由选择。你甚至可以在IDE执行单元测试时直接运行Arquillian测试。

聚集测试资源

通常,无论使用那种技术栈,应用程序和测试通常使用相同的编程模型。例如,Arquillian可以将部署的“上下文和依赖注入(CDI)bean”、企业级JavaBeans(EJB)组件和其它Java EE资源注入到测试中。 Arquillian还可以将编程模型进行扩展,访问其它容器的API和类似JSFUnit、Selenium这样测试框架中的隐含对象。

控制Classpath

大多数测试集(Test Suite)看起来一团糟,这不是你的错。测试框架在使用测试程序classpath上的类和资源时不是很规范,使得隔离测试场景变得非常困难,最终导致测试集成为了怪物。Arquillian不是这样。微部署比部署整个应用要容易得多,从而使部署测试更加快速,加快“测试编码测试”开发周期。

支持浏览器测试

Arquillian在客户端测试和服务器测试同样表现出色。Arquillian Drone简化了Selenium服务器所有繁琐的设置,让你直接在浏览器上执行测试。Arquillian甚至将客户端和服务器测试进行了统一,最典型的案例莫过于我们的JSFUnit集成。

调试服务器

Arquillian让你可以尝试从未有过的服务端调试。 通常,你需要打包应用程序、部署到服务器、连接调试器,通过UI交互来触发断点。现在你可以直接在测试代码或应用代码中设置断点,对测试进行调试。 你可以在熟悉的IDE中收到服务器程序触发断点的事件。试一下可以大开眼界哦!

不限定容器

只要为容器命名,Arquillian会对它管理。如果事实不是这样,为什么还会有这段描述呢?Arquillian支持在不同的容器间切换,从开发环境的嵌入式容器到持续集成中的独立服务器。在不同的容器上进行兼容测试,可以确保应用的可移植性。甚至可以通过这个功能测试应用在分布式环境下的表现。

可扩展平台

实际上,用Arquillian测试没有所谓的限制。Arquillian提供了很多扩展。如果你需要的集成还没有线程的实现,Arquillian提供了一个可扩展平台,可以方便地集成其它很棒的测试工具。

强大的工具

想快速熟悉Arquillian?像JBoss Forge这样的工具可以为你提供帮助。只要安装Arquillian插件,在项目中进行设置就可以马上开始编写测试。你会惊讶于Arquillian和Forge的简单方便——这是下一代的企业级解决方案。

开发资源

下载:各模块下载链接。

技术博客

官方文档

入门教程:中文版

API

参考手册

FAQ

书籍:”Arquillian in Action“

官方网站:http://arquillian.org/

开源地址:
https://github.com/arquillian

相关文章

Spring系列之Redis的两种集成方式

在工作中,我们用到分布式缓存的时候,第一选择就是Redis,今天介绍一下SpringBoot如何集成Redis的,分别使用Jedis和Spring-data-redis两种方式。一、使用Jedis方式...

SpringBoot集成Swagger,更酷的UI方案

本文地址:sf.gg/a/1190000038170506之前在创业公司待的时候,用过swagger,因为我第一天来这家公司工作,第一个任务就是做接口文档自动化。后来觉得它不太好用,在浏览技术网站的时...

手把手教你将 DeepSeek 集成到 Java 的 Spring Boot 项目中

前面阳仔给大家介绍了如何将deepseek结合进入办公软件中,今天阳仔将详细介绍如何将 DeepSeek 集成到 Java 的 Spring Boot 项目中,让你的项目具备智能交互能力。一、准备工...

Shiro学习系列教程三:集成web

相关推荐:《Shiro学习系列教程一:Shiro之helloworld》《Shiro学习系列教程三:集成web》《Shiro学习系列教程四:集成web(二)》《Shiro学习系列教程五:自定义Real...

全面的集成能力:流程引擎与第三方系统的集成对接

关键词:系统集成、流程审批、API接口、数字化转型、业务流程编者按:本文介绍在现代企业信息化建设的进程中,流程引擎作为业务流程管理的核心组件,其集成能力显得尤为重要。一个具备全面集成能力的流程引擎,能...