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

简介:

版本:
  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 即可运行测试.
最新内容请见作者的GitHub页:http://qaseven.github.io/

相关文章
|
28天前
|
机器学习/深度学习 算法 UED
在数据驱动时代,A/B 测试成为评估机器学习项目不同方案效果的重要方法
在数据驱动时代,A/B 测试成为评估机器学习项目不同方案效果的重要方法。本文介绍 A/B 测试的基本概念、步骤及其在模型评估、算法改进、特征选择和用户体验优化中的应用,同时提供 Python 实现示例,强调其在确保项目性能和用户体验方面的关键作用。
32 6
|
1月前
|
机器学习/深度学习 算法 UED
在数据驱动时代,A/B 测试成为评估机器学习项目效果的重要手段
在数据驱动时代,A/B 测试成为评估机器学习项目效果的重要手段。本文介绍了 A/B 测试的基本概念、步骤及其在模型评估、算法改进、特征选择和用户体验优化中的应用,强调了样本量、随机性和时间因素的重要性,并展示了 Python 在 A/B 测试中的具体应用实例。
30 1
|
1月前
|
监控 安全 测试技术
如何在实际项目中应用Python Web开发的安全测试知识?
如何在实际项目中应用Python Web开发的安全测试知识?
31 4
|
1月前
|
Java 编译器 Android开发
Eclipse 编译项目
Eclipse 编译项目
26 1
|
1月前
|
Android开发
Eclipse 关闭项目
Eclipse 关闭项目
35 2
|
1月前
|
Java Android开发
Eclipse 创建 Java 项目
Eclipse 创建 Java 项目
40 4
|
1月前
|
网络协议 关系型数据库 应用服务中间件
【项目场景】请求数据时测试环境比生产环境多花了1秒是怎么回事?
这是一位粉丝(谢同学)给V哥的留言,描述了他在优化系统查询时遇到的问题:测试环境优化达标,但生产环境响应时间多出1秒。通过抓包分析,发现MySQL请求和响应之间存在500毫秒的延迟,怀疑是网络传输开销。V哥给出了以下优化建议:
|
2月前
|
测试技术
自动化测试项目学习笔记(五):Pytest结合allure生成测试报告以及重构项目
本文介绍了如何使用Pytest和Allure生成自动化测试报告。通过安装allure-pytest和配置环境,可以生成包含用例描述、步骤、等级等详细信息的美观报告。文章还提供了代码示例和运行指南,以及重构项目时的注意事项。
279 1
自动化测试项目学习笔记(五):Pytest结合allure生成测试报告以及重构项目
|
2月前
|
Java Maven Android开发
eclipse如何导入springboot项目
本文介绍了如何在Eclipse中导入Spring Boot项目。
47 1
eclipse如何导入springboot项目
|
2月前
|
测试技术 Python
自动化测试项目学习笔记(四):Pytest介绍和使用
本文是关于自动化测试框架Pytest的介绍和使用。Pytest是一个功能丰富的Python测试工具,支持参数化、多种测试类型,并拥有众多第三方插件。文章讲解了Pytest的编写规则、命令行参数、执行测试、参数化处理以及如何使用fixture实现测试用例间的调用。此外,还提供了pytest.ini配置文件示例。
56 2

推荐镜像

更多