在Maven2下用JTester开发单元测试

JTester是一款优秀的Java单元测试框架,集成了多种测试技术,包括jmock、hamcrest等,提供fluent interface断言、POJO对象序列化等功能,简化了复杂的单元测试场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

JTester简介

JTester是一个非常优秀的单元测试框架,主要的特性有以下内容

1、在unitils的基础,集成了jmock功能。
2、在hamcrest断言的基础上,实现了fluent interface断言。
3、改造了jmock expectation参数断言为fluent interface形式
4、提供了将普通的pojo对象序列化到文件,然后再从文件中反序列化回来的功能,用于在对象复杂的情况下,直接录制接口(远程接口)调用返回的对象,以供下次测试或调试使用。
5、使用wiki代替xml来准备测试数据。
6、实现了更加丰富的断言。
7、提供了hibernate annotation环境下,直接使用内存数据库进行db测试。
8、提供了hibernate annotation环境下,Open Test in Session的实现。
熟悉Java单元测试的同学应该能体会到对Java程序如果只是单纯的使用Junit或是TestNG这样的基础单元测试框架往往很难应对各种复杂的单元测试情况,所以势必要借助很多第三方的框架和技术(easymock,jmock,dbunit等等)。而这些框架和技术的学习又会增加学习的成本和难度,所以有人在这些java基础单元测试的工具基础上开发一些测试框架(如unitils)将多种Java单元测试技术整合在一起,提高开发效率。 JTester的目的也是一样,在作者精心的开发和维护的基础上,已经拥有了强大的功能和稳定的质量。希望对Java的单元测试技术感兴趣的同学能加以使用,对JTester有功能需求的同学可以跟作者 Darui.wu 或者我联系。

JTester的Maven2配置

首先,在Pom.xml中加入JTester的Repository URL

<repositories>
<repository>
<id>jtester-maven</id>
<name>JTester</name>
<url>
http://java-tester.googlecode.com/svn/maven2/
</url>
</repository>
</repositories>

引入JTester测试依赖包

<dependencies>
<dependency>
<groupId>org.jtester</groupId>
<artifactId>jtester</artifactId>
<version>${jtester.version}</version>
</dependency>
<dependency>
<groupId>org.hamcrest</groupId>
<artifactId>hamcrest-all</artifactId>
<version>${hamcrest.version}</version>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-all</artifactId>
<version>${mockito.version}</version>
</dependency>
<dependency>
<groupId>org.jmock</groupId>
<artifactId>jmock</artifactId>
<version>${jmock.version}</version>
<exclusions>
<exclusion>
<artifactId>hamcrest-core</artifactId>
<groupId>org.hamcrest</groupId>
</exclusion>
<exclusion>
<artifactId>hamcrest-library</artifactId>
<groupId>org.hamcrest</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.jmock</groupId>
<artifactId>jmock-legacy</artifactId>
<version>${jmock.version}</version>
</dependency>
<dependency>
<groupId>org.unitils</groupId>
<artifactId>unitils</artifactId>
<version>${unitils.version}</version>
<exclusions>
<exclusion>
<artifactId>ant</artifactId>
<groupId>ant</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>5.8</version>
<classifier>jdk15</classifier>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>jline</groupId>
<artifactId>jline</artifactId>
<version>0.9.94</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>1.5.6</version>
</dependency>
</dependencies>
<properties>
<jtester.version>0.7.1</jtester.version>
<testng.version>5.8</testng.version>
<unitils.version>2.2</unitils.version>
<hamcrest.version>1.1</hamcrest.version>
<jmock.version>2.5.1</jmock.version>
<mockito.version>1.7</mockito.version>
<dbunit.version>2.4.3</dbunit.version>
</properties>

如果一起OK的话,你的Proeject中应该已经成功导入了JTeser0.7.1的jar包。


相关资料


项目主页http://code.google.com/p/java-tester/

单元测试框架TestNG的eclipse插件安装说明: 本资源包含org.jtester.plugin_0.2.2.jar和org.testng.eclipse_6.1.1.20110713_1401.7z。将org.testng.eclipse_6.1.1.20110713_1401.7z解压缩后得到的文件org.testng.eclipse_6.1.1.20110713_1401和org.jtester.plugin_0.2.2.jar一起复制到eclipse安装目录下的plugins目录下,重启eclipse,Window->Show view->Other...->Java,看到TestNG图标,证明安装成功! 关于TestNG的使用可以参考文档《Step By Step写测试(书签版).pdf》,介绍的很详细,下载地址:http://download.youkuaiyun.com/detail/defonds/4095644。 单元测试框架TestNG介绍: JUnit 框架是 Java 语言单元测试当前的一站式解决方案。这个框架值得称赞,因为它把测试驱动的开发思想介绍给 Java 开发人员并教给他们如何有效地编写单元测试。但是,在过去的几年中,JUnit 的改进不大;所以,为当今复杂的环境编写测试已经变成一个越来越困难的任务,即 JUnit 必须与其他一些补充性测试框架集成起来。而 TestNG 是一个测试 Java 应用程序的新框架。TestNG 不仅确实强大、创新、可扩展、灵活,它还展示了 Java Annotations(JDK 5.0 中的重大新特性)的有趣应用。 TestNG 的创造者是 Cedric Beust,他在 Java 编程领域非常出名,是 EJB 3 专家组的成员,也是其他一些流行的开源项目(例如 EJBGen 和 Doclipse)的创造者。 示例测试代码: package example1; import org.testng.annotations.*; public class SimpleTest { @BeforeClass public void setUp() { // code that will be invoked when this test is instantiated } @Test(groups = { "fast" }) public void aFastTest() { System.out.println("Fast test"); } @Test(groups = { "slow" }) public void aSlowTest() { System.out.println("Slow test"); } }
jTester使用指南》jTester单元测试开发文档,作者吴大瑞,pdf 格式,大小 1.1MB。本书带有 pdf 书签,方便读者阅读。 目录: jTester使用指南 目录 第 1 章 安装jtester maven用户安装 ant用户安装 安装TestNG插件 编写一个简单的测试用例 maven方式运行 第 2 章 TestNG语法简介 TestNg注解介绍 TestNg 参数化测试 异常测试 TestNg分组测试和suite文件编写 第 3 章 jTester断言介绍 什么是测试断言? jTester断言基本介绍 jTester断言语法详解 断言String对象 判断字符串是否等于期望值 字符串的模糊判断 断言子字符串 其它字符串断言 Java基本类型的断言 对普通PoJo对象进行断言 判断2个PoJo对象是否相等 对2个PoJo对象指定的属性进行比较 断言Map对象 断言Collection对象或Array对象 第 4 章 使用DataMap准备和验证数据 为什么要使用DataMap? 配置jtester.properties文件 DataMap语法详解 对指定表进行数据插入操作 用DataMap插入多条数据 DataMap的数据提供器功能 准备数据的一些补充 对指定表进行数据验证操作 其他数据库操作 多数据库测试 使用eclipse插件 第 5 章 在测试中集成Spring 加载spring容器 @AutoBeanInject让框架自动查找和注册需要的bean @AutoBeanInject规则详解 Spring Bean依赖项查找规则 特殊实现类的bean注册 自动注册的bean如何实现spring的init-method方法 声明bean的简单属性 使用@SpringBeanFrom DIY你需要的bean Spring模块注解 第 6 章 反射调用私有方法或JDK代理的方法 调用私有方法 访问私有变量 使用反射方式构造对象实例 第 7 章 在测试代码中使用Mock 静态mock,new MockUp的使用 mock构造函数和静态代码块 new MockUp和spring的集成 针对静态mock做断言 动态mock,new Expectations的使用
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值