eclipse下使用arquillian对seam项目进行单元测试

本文介绍了如何在Eclipse环境中使用Arquillian库执行FTC项目的单元测试,包括配置远程和托管两种方式的测试运行环境,以及在pom.xml文件中设置相关依赖和配置。

版本:

eclipse: 4.2.0

seam: 2.3.0.Final

jboss-as: 7.1.0.Final


当前ftc项目pom.xml中的dependency已经包含了arquiilian依赖,所以不用再从官网上复制大片xml到自己的pom.xml中了。但要想在eclipse中执行单元测试还需要一点点改动:


我们首先在cn.ftc.test包下写一个测试类,代码如下:

package cn.ftc.test;

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.asset.EmptyAsset;
import org.jboss.shrinkwrap.api.spec.JavaArchive;
import org.junit.Assert;
import org.junit.Test;
import org.junit.runner.RunWith;

@RunWith(Arquillian.class)
public class ExcelProcessorTest {
	@Deployment
	public static JavaArchive createDeployment() {
		return ShrinkWrap.create(JavaArchive.class)
				.addClass(ExcelProcessorTest.class)
				.addAsManifestResource(EmptyAsset.INSTANCE, "beans.xml");
	}

	@Test
	public void should_create_greeting() {
		System.out.println("hello");
	}
}


以managed方式运行测试

此方式下无需事先启动jboss, arquillian会自动启动JBoss,部署测试jar包,运行测试,最后关闭jboss。
1. 修改arquillian.xml为以下内容:
    <container qualifier="jboss" default="true">
        <configuration>
            <property name="jbossHome">你的JBoss安装目录</property>
        </configuration>
    </container>

上述代码的作用是告诉 arquillian JBoss的所在路径,并用这个JBoss运行测试。

2. 在项目根目录下的pom.xml中,找到 id 为 arq-jbossas-7-managed 的profile节点, 在groupId为org.jboss.as的节点中,添加一个version节点,内容为7.1.1.Final。(7.1.0.Final也行)。
<profile>
			<id>arq-jbossas-7-managed</id>
			<activation>
				<property>
					<name>arquillian</name>
					<value>jbossas-managed-7</value>
				</property>
			</activation>
			<dependencies>
				<dependency>
					<groupId>org.jboss.as</groupId>
					<artifactId>jboss-as-arquillian-container-managed</artifactId>
					<version>7.1.1.Final</version> <!-- 添加这一行 -->
					<scope>test</scope>
				</dependency>
			</dependencies>

3. 向eclipse导入工程。
File --> import ,选择 existing maven projects. 如图:


4. 选择profile:
在pom.xml上点右键 --> maven --> select maven profiles。在弹出的对话框中构选 arq-jbossas-7-managed。如图:



完成后,在ExcelProcessorTest类上点击右键 --> Run As --> JUnit Test 即可运行测试。

以remote方式运行测试

我们手动启动JBoss,让arquillian以我们启动的JBoss为容器运行测试。

1. 类似于上面步骤2,打开pom.xml,找到 id 为 arq-jbossas-7-remote 的 profile节点,在dependency中添加version节点,内容为 7.1.1.Final.
<profile>
			<id>arq-jbossas-7-remote</id>
			<activation>
				<property>
					<name>arquillian</name>
					<value>jbossas-remote-7</value>
				</property>
			</activation>
			<dependencies>
				<dependency>
					<groupId>org.jboss.as</groupId>
					<artifactId>jboss-as-arquillian-container-remote</artifactId>
					<version>7.1.1.Final</version> <!-- 添加此行 -->
					<scope>test</scope>
				</dependency>
			</dependencies>

2. 重复前述步骤4,这次要选择 arq-jbossas-7-remote.
 
此时我们先从终端启动JBoss,然后再在测试类上点右键 --> Run As --> JUnit Test 即可运行测试.

转载于:https://www.cnblogs.com/whongfei/p/5246938.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值