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

相关文章

使用Python实现快速搭建本地HTTP服务器

《使用Python实现快速搭建本地HTTP服务器》:本文主要介绍如何使用Python快速搭建本地HTTP服务器,轻松实现一键HTTP文件共享,同时结合二维码技术,让访问更简单,感兴趣的小伙伴可以了... 目录1. 概述2. 快速搭建 HTTP 文件共享服务2.1 核心思路2.2 代码实现2.3 代码解读3.

MySQL双主搭建+keepalived高可用的实现

《MySQL双主搭建+keepalived高可用的实现》本文主要介绍了MySQL双主搭建+keepalived高可用的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,... 目录一、测试环境准备二、主从搭建1.创建复制用户2.创建复制关系3.开启复制,确认复制是否成功4.同

使用DeepSeek搭建个人知识库(在笔记本电脑上)

《使用DeepSeek搭建个人知识库(在笔记本电脑上)》本文介绍了如何在笔记本电脑上使用DeepSeek和开源工具搭建个人知识库,通过安装DeepSeek和RAGFlow,并使用CherryStudi... 目录部署环境软件清单安装DeepSeek安装Cherry Studio安装RAGFlow设置知识库总

Linux搭建Mysql主从同步的教程

《Linux搭建Mysql主从同步的教程》:本文主要介绍Linux搭建Mysql主从同步的教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux搭建mysql主从同步1.启动mysql服务2.修改Mysql主库配置文件/etc/my.cnf3.重启主库my

国内环境搭建私有知识问答库踩坑记录(ollama+deepseek+ragflow)

《国内环境搭建私有知识问答库踩坑记录(ollama+deepseek+ragflow)》本文给大家利用deepseek模型搭建私有知识问答库的详细步骤和遇到的问题及解决办法,感兴趣的朋友一起看看吧... 目录1. 第1步大家在安装完ollama后,需要到系统环境变量中添加两个变量2. 第3步 “在cmd中

本地搭建DeepSeek-R1、WebUI的完整过程及访问

《本地搭建DeepSeek-R1、WebUI的完整过程及访问》:本文主要介绍本地搭建DeepSeek-R1、WebUI的完整过程及访问的相关资料,DeepSeek-R1是一个开源的人工智能平台,主... 目录背景       搭建准备基础概念搭建过程访问对话测试总结背景       最近几年,人工智能技术

5分钟获取deepseek api并搭建简易问答应用

《5分钟获取deepseekapi并搭建简易问答应用》本文主要介绍了5分钟获取deepseekapi并搭建简易问答应用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需... 目录1、获取api2、获取base_url和chat_model3、配置模型参数方法一:终端中临时将加

2.1/5.1和7.1声道系统有什么区别? 音频声道的专业知识科普

《2.1/5.1和7.1声道系统有什么区别?音频声道的专业知识科普》当设置环绕声系统时,会遇到2.1、5.1、7.1、7.1.2、9.1等数字,当一遍又一遍地看到它们时,可能想知道它们是什... 想要把智能电视自带的音响升级成专业级的家庭影院系统吗?那么你将面临一个重要的选择——使用 2.1、5.1 还是

高效管理你的Linux系统: Debian操作系统常用命令指南

《高效管理你的Linux系统:Debian操作系统常用命令指南》在Debian操作系统中,了解和掌握常用命令对于提高工作效率和系统管理至关重要,本文将详细介绍Debian的常用命令,帮助读者更好地使... Debian是一个流行的linux发行版,它以其稳定性、强大的软件包管理和丰富的社区资源而闻名。在使用

Debian如何查看系统版本? 7种轻松查看Debian版本信息的实用方法

《Debian如何查看系统版本?7种轻松查看Debian版本信息的实用方法》Debian是一个广泛使用的Linux发行版,用户有时需要查看其版本信息以进行系统管理、故障排除或兼容性检查,在Debia... 作为最受欢迎的 linux 发行版之一,Debian 的版本信息在日常使用和系统维护中起着至关重要的作