Debian-7.1下JBoss Forge + Arquillian + JBoss-as-7.1 测试环境搭建

2024-04-21 05:32

本文主要是介绍Debian-7.1下JBoss Forge + Arquillian + JBoss-as-7.1 测试环境搭建,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

下载安装Forge

JBoss Forge是一种能够快速创建、开发Java项目的工具,通过它我们可以迅速生成项目骨架,解决库依赖问题,并与Arquillian测试框架集成。Forge有点类似于seam-gen,但其最大的不同之处在于,seam-gen只能在项目创建时一次性成生class,而Forge可以随时动态添加class,field, 依赖库等。我们可以从官网( http://forge.jboss.org/)下载forge,但速度真的非常慢,只有40kb/s。于是我把它上传到了百度云:http://pan.baidu.com/s/1bnzj2Cf

forge安装非常简单,解压tar.gz,配置环境变量$FORGE_HOME为forge安装目录,再将$FROGE_HOME/bin添加到$PATH中即可。

创建项目并添加Arquillian支持

不用forge也行,但要手工修改pom.xml添加很多dependency。forge可以为我们代劳。步骤如下:

运行forge:
forge

启动forge大概需要5s,不知道这么久的时间forge在做什么。。启动成功后应该输出如下提示:



创建项目arquillian-demo,并创建包org.arquillian.example:
new-project --named arquillian-demo --topLevelPackage org.arquillian.example

用forge的beans插件安装CDI支持:
beans setup

创建一个Bean:
beans new-bean --type org.arquillian.example.MySimpleBean --scoped DEPENDENT

回到工程根目录:
cd ~~

为forge安装arquillian插件:
forge install-plugin arquillian

注意,不要通过Arquillian官网的Guide给出的链接下载forge,那个是1.0版,而arquillian插件最低要求为1.3。

以上是arquillian官网给出的步骤,但如果再向下就会出错了,可能是文档没有及时更新。不过我们可以在Forge的官网上找到说明  http://forge.jboss.org/docs/important_plugins/arquillian-testing.html#content。

设置测试容器(这里是JBoss-as-7.1.0):
arquillian setup --containerType MANAGED --containerName JBOSS_AS_MANAGED_7.X

Tip: 输入
arquillian setup --containerType MANAGED --containerName [TAB]

能自动列出arquillian支持的所有容器列表。

此时forge会问我们是否要安装JBoss,我们选择不安装。

修改arquillian.xml文件,内容如下:
<container default="true" qualifier="JBOSS_AS_MANAGED_7.X"><configuration><property name="jbossHome">JBOSS安装目录</property></configuration></container>

生成测试Bean

forge可以根据已有的类自动生成对应的测试类:
arquillian create-test --class org.arquillian.example.MySimpleBean.java

这会生成MySimpleBeanTest.java文件:
package org.arquillian.example;import org.arquillian.example.MySimpleBean;
import javax.inject.Inject;
import org.jboss.arquillian.container.test.api.Deployment;
import org.jboss.arquillian.junit.Arquillian;
import org.jboss.shrinkwrap.api.ShrinkWrap;
import org.jboss.shrinkwrap.api.spec.JavaArchive;
import org.jboss.shrinkwrap.api.asset.EmptyAsset;
import org.junit.Assert;
import org.junit.Test;
import org.junit.runner.RunWith;
import static org.junit.Assert.*;
import static org.hamcrest.core.Is.*;@RunWith(Arquillian.class)
public class MySimpleBeanTest {@Inject private MySimpleBean mysimplebean;@Deployment public static JavaArchive createDeployment() {return ShrinkWrap.create(JavaArchive.class, "test.jar").addClass(MySimpleBean.class).addAsManifestResource(EmptyAsset.INSTANCE, "beans.xml");}@Testpublic void testIsDeployed() {Assert.assertNotNull(mysimplebean);}
}

在JBoss中运行测试

build test --profile arq-jboss_as_managed_7.x

此时forge会启动Jboss,部署由ShrinkWrap生成的jar包,并运行测试。
如果你发现在启动JBoss后过程就停住了,没有任何Result,那么就要检查一下pom.xml,找到最后一个dependency节点,看看version是否为你JBoss对应的版本。
<dependencies><dependency><groupId>org.jboss.as</groupId><artifactId>jboss-as-arquillian-container-managed</artifactId><version>7.1.0.Final</version></dependency></dependencies>

我这里之前居然是7.1.1,导致出现各种奇妙的错误,浪费了不少时间。如果你想先手动启动JBoss,然后让arquillian在远程容器中运行测试的话,那么就要修改arquillian.xml,将allowConnectingToRunningServer设为true:
<container default="true" qualifier="JBOSS_AS_MANAGED_7.X"><configuration><property name="jbossHome">/home/whf/app/jboss-as-7.1.1.Final</property><property name="allowConnectingToRunningServer">true</property></configuration></container>



至此测试环境配置完毕,测试成功后的输出结果如下:

这篇关于Debian-7.1下JBoss Forge + Arquillian + JBoss-as-7.1 测试环境搭建的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/922258

相关文章

使用docker搭建嵌入式Linux开发环境

《使用docker搭建嵌入式Linux开发环境》本文主要介绍了使用docker搭建嵌入式Linux开发环境,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 目录1、前言2、安装docker3、编写容器管理脚本4、创建容器1、前言在日常开发全志、rk等不同

Debian 13升级后网络转发等功能异常怎么办? 并非错误而是管理机制变更

《Debian13升级后网络转发等功能异常怎么办?并非错误而是管理机制变更》很多朋友反馈,更新到Debian13后网络转发等功能异常,这并非BUG而是Debian13Trixie调整... 日前 Debian 13 Trixie 发布后已经有众多网友升级到新版本,只不过升级后发现某些功能存在异常,例如网络转

Linux搭建ftp服务器的步骤

《Linux搭建ftp服务器的步骤》本文给大家分享Linux搭建ftp服务器的步骤,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录ftp搭建1:下载vsftpd工具2:下载客户端工具3:进入配置文件目录vsftpd.conf配置文件4:

Java 与 LibreOffice 集成开发指南(环境搭建及代码示例)

《Java与LibreOffice集成开发指南(环境搭建及代码示例)》本文介绍Java与LibreOffice的集成方法,涵盖环境配置、API调用、文档转换、UNO桥接及REST接口等技术,提供... 目录1. 引言2. 环境搭建2.1 安装 LibreOffice2.2 配置 Java 开发环境2.3 配

Debian系和Redhat系防火墙配置方式

《Debian系和Redhat系防火墙配置方式》文章对比了Debian系UFW和Redhat系Firewalld防火墙的安装、启用禁用、端口管理、规则查看及注意事项,强调SSH端口需开放、规则持久化,... 目录Debian系UFW防火墙1. 安装2. 启用与禁用3. 基本命令4. 注意事项5. 示例配置R

Python极速搭建局域网文件共享服务器完整指南

《Python极速搭建局域网文件共享服务器完整指南》在办公室或家庭局域网中快速共享文件时,许多人会选择第三方工具或云存储服务,但这些方案往往存在隐私泄露风险或需要复杂配置,下面我们就来看看如何使用Py... 目录一、android基础版:HTTP文件共享的魔法命令1. 一行代码启动HTTP服务器2. 关键参

如何使用Haporxy搭建Web群集

《如何使用Haporxy搭建Web群集》Haproxy是目前比较流行的一种群集调度工具,同类群集调度工具有很多如LVS和Nginx,本案例介绍使用Haproxy及Nginx搭建一套Web群集,感兴趣的... 目录一、案例分析1.案例概述2.案例前置知识点2.1 HTTP请求2.2 负载均衡常用调度算法 2.

一文详解如何在idea中快速搭建一个Spring Boot项目

《一文详解如何在idea中快速搭建一个SpringBoot项目》IntelliJIDEA作为Java开发者的‌首选IDE‌,深度集成SpringBoot支持,可一键生成项目骨架、智能配置依赖,这篇文... 目录前言1、创建项目名称2、勾选需要的依赖3、在setting中检查maven4、编写数据源5、开启热

如何搭建并配置HTTPD文件服务及访问权限控制

《如何搭建并配置HTTPD文件服务及访问权限控制》:本文主要介绍如何搭建并配置HTTPD文件服务及访问权限控制的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、安装HTTPD服务二、HTTPD服务目录结构三、配置修改四、服务启动五、基于用户访问权限控制六、

pytest+allure环境搭建+自动化实践过程

《pytest+allure环境搭建+自动化实践过程》:本文主要介绍pytest+allure环境搭建+自动化实践过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录一、pytest下载安装1.1、安装pytest1.2、检测是否安装成功二、allure下载安装2.