首页 > 测试驱动 > 在Maven2下用JTester开发单元测试

在Maven2下用JTester开发单元测试

2009年7月27日 admin 发表评论 阅读评论

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/

分类: 测试驱动 标签:
  1. 本文目前尚无任何评论.
  1. 本文目前尚无任何 trackbacks 和 pingbacks.