网站首页 > 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
猜你喜欢
- 2024-10-23 阿里蚂蚁金服中间件(Java 4轮面试题含答案):Re...
- 2024-10-23 阿里Java60万年薪(4面真题):线程同步+数据库锁+中间件等
- 2024-10-23 面试分享:中间件RabbitMQ面试专题及Java架构知识点整理!
- 2024-10-23 吐血总结了各个中间件是如何实现持久化的
- 2024-10-23 学习分享之《大型网站系统与Java中间件实践》
- 2024-10-23 java数据库读写分离-数据库中间件DBProxy
- 2024-10-23 java面试中,面试官:如何处理消息中间件(MQ)消息丢失问题?
- 2024-10-23 阿里Java高级岗中间件二面:GC+IO+JVM+多线程+Redis+数据库+源码
- 2024-10-23 Java中间件-ehcache(Java中间件错误整理)
- 2024-10-23 直上云霄!这次聊一聊分布式事务中间件Seata
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- java反编译工具 (77)
- java反射 (57)
- java接口 (61)
- java随机数 (63)
- java7下载 (59)
- java数据结构 (61)
- java 三目运算符 (65)
- java对象转map (63)
- Java继承 (69)
- java字符串替换 (60)
- 快速排序java (59)
- java并发编程 (58)
- java api文档 (60)
- centos安装java (57)
- java调用webservice接口 (61)
- java深拷贝 (61)
- 工厂模式java (59)
- java代理模式 (59)
- java.lang (57)
- java连接mysql数据库 (67)
- java重载 (68)
- java 循环语句 (66)
- java反序列化 (58)
- java时间函数 (60)
- java是值传递还是引用传递 (62)
本文暂时没有评论,来添加一个吧(●'◡'●)