使用Junit4进行单元测试的相关配置

原创 2015年08月17日 17:55:07

最近在进行框架搭建,就设计到单元测试,记录一下,备忘。
使用的框架是springmvc+spring4+hibernate4+junit4.使用junit的steps是:

  1. 引入相应的jar包
  2. 编写baseTest,引入配置文件,注意配置文件的路径。
  3. 编写测试类,继续baseTest。

具体代码或者实现如下:
1、进行junit测试需要先引入相关的jar。

<dependencies>
    <dependency>
        <groupId>org.apache.openejb</groupId>
        <artifactId>javaee-api</artifactId>
        <version>6.0-4</version>
        <scope>provided</scope>
    </dependency>
    <!-- spring 核心包 -->
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context</artifactId>
        <version>${spring.version}</version>
        <exclusions>
            <exclusion>
                <artifactId>spring-core</artifactId>
                <groupId>org.springframework</groupId>
            </exclusion>
        </exclusions>
    </dependency>
    <!-- spring mvc 支持 -->
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-webmvc</artifactId>
        <version>${spring.version}</version>
    </dependency>
    <!-- spring quartz 支持 -->
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context-support</artifactId>
        <version>${spring.version}</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-orm</artifactId>
        <version>4.1.7.RELEASE</version>
    </dependency>
    <dependency>
        <groupId>org.quartz-scheduler</groupId>
        <artifactId>quartz</artifactId>
        <version>2.2.1</version>
    </dependency>
    <!-- hibernate 支持 -->
    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-core</artifactId>
        <version>${hibernate.version}</version>
    </dependency>
    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-entitymanager</artifactId>
        <version>${hibernate.version}</version>
    </dependency>
    <dependency>
        <groupId>javax.persistence</groupId>
        <artifactId>persistence-api</artifactId>
        <version>1.0</version>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-ehcache</artifactId>
        <version>3.3.2.GA</version>
    </dependency>
    <!-- json 支持 -->
    <dependency>
        <groupId>org.codehaus.jackson</groupId>
        <artifactId>jackson-core-asl</artifactId>
        <version>1.9.13</version>
    </dependency>
    <dependency>   
        <groupId>org.codehaus.jackson</groupId>  
        <artifactId>jackson-mapper-asl</artifactId>  
        <version>1.9.8</version>  
    </dependency>  
    <!-- log4j 支持 -->
    <dependency>  
        <groupId>log4j</groupId>  
        <artifactId>log4j</artifactId>  
        <version>1.2.17</version>  
    </dependency>
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-log4j12</artifactId>
        <version>1.6.1</version>
    </dependency>
    <!-- 文件读写、上传 -->
    <dependency>
        <groupId>commons-fileupload</groupId>
        <artifactId>commons-fileupload</artifactId>
        <version>1.3.1</version>
    </dependency>
    <dependency>
        <groupId>commons-io</groupId>
        <artifactId>commons-io</artifactId>
        <version>2.4</version>
    </dependency>
    <!-- 帮助类 -->
    <dependency>
        <groupId>commons-beanutils</groupId>
        <artifactId>commons-beanutils</artifactId>
        <version>1.9.2</version>
    </dependency>
    <dependency>
        <groupId>commons-lang</groupId>
        <artifactId>commons-lang</artifactId>
        <version>2.6</version>
    </dependency>
    <dependency>
        <groupId>org.apache.ant</groupId>
        <artifactId>ant</artifactId>
        <version>1.9.6</version>
    </dependency>
    <!-- jstl 支持 -->
    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>jstl</artifactId>
      <version>1.2</version>
    </dependency>
    <!-- 数据库 支持 -->
    <dependency>
        <groupId>com.oracle</groupId>
        <artifactId>ojdbc14</artifactId>
        <version>1.0</version>
    </dependency>
    <!-- 阿里巴巴连接池 -->
    <dependency>
        <groupId>com.alibaba</groupId>
        <artifactId>druid</artifactId>
        <version>1.0.14</version>
    </dependency>
    <!-- 测试依赖 -->
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-test</artifactId>
        <version>${spring.version}</version>
    </dependency>
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.11</version>
    </dependency>
  </dependencies>

其中junit是必须的,org.apache.openejb-javaee-api也要升级到6.0。还有slf4j-log4j12也很容易忘记的。

2、编写BaseTest基础测试类,引入相应的配置,我采用的是注解方式

@RunWith(SpringJUnit4ClassRunner.class)
@ContextHierarchy({
    @ContextConfiguration(name = "parent", locations = "classpath:applicationContext.xml")
})
public class BaseJunitTest {
}

有了这个base类,后面的测试类直接继承base就好了。
3、编写测试类。

public class OrdersDaoTest extends BaseJunitTest{
    @Resource
    OrdersDao ordersDao;

    @Test
    public void testQuery(){
        List<Orders> all = ordersDao.findAll();
        System.out.println("size==========>"+all.size());
    }
}

到这一步要注意,项目中的dao层是否有加事物,因为有些框架事务是在service层的,如果没有事务的情况下,加上@Transactional注解。这个注解可以加在BaseJunitTest类上,也可以加在OrdersDaoTest类上,还可以写在方法上。反正junit测试要求事务支持就是了。

在eclipse开发工具中使用JUnit4进行单元测试详解(一)入门篇

本文是在前人的基础上完善而成http://blog.csdn.net/andycpp/article/details/1327147 由于eclipse开发工具集成了JUnit,所以在eclipse中...

在Eclipse中使用JUnit4进行单元测试

  • 2010年01月09日 11:18
  • 624KB
  • 下载

在Eclipse中使用JUnit4进行单元测试(中级篇)

我们继续对初级篇中的例子进行分析。初级篇中我们使用Eclipse自动生成了一个测试框架,在这篇文章中,我们来仔细分析一下这个测试框架中的每一个细节,知其然更要知其所以然,才能更加熟练地应用JUnit4...

在Eclipse中使用JUnit4进行单元测试(高级篇)

通过前2篇文章,您一定对JUnit有了一个基本的了解,下面我们来探讨一下JUnit4中一些高级特性。 一、     高级Fixture 上一篇文章中我们介绍了两个Fixture标注,分别是@Bef...

在Eclipse中使用JUnit4进行单元测试(高级篇)

通过前 2 篇文章,您一定对 JUnit 有了一个基本的了解,下面我们来探讨一下 JUnit4 中一些高级特性。一、 高级 Fixture上一篇文章中我们介绍了两个 Fixture 标注,分别...

在Eclipse中使用JUnit4进行单元测试(初级篇)

本文绝大部分内容引自这篇文章: http://www.devx.com/Java/Article/31983/0/page/1 我们在编写大型程序的时候,需要写成千上万个方法或函数,这些函...

在Eclipse中使用JUnit4进行单元测试(初级篇)

我们在编写大型程序的时候,需要写成千上万个方法或函数,这些函数的功能可能很强大,但我们在程序中只用到该函数的一小部分功能,并且经过调试可以确定,这一小部分功能是正确的。但是,我们同时应该确保每一个函数...
  • leovnay
  • leovnay
  • 2014年04月18日 10:30
  • 859

在Eclipse中使用JUnit4进行单元测试(中级篇)

来自http://blog.csdn.net/andycpp/article/details/1327346 我们继续对初级篇中的例子进行分析。初级篇中我们使用Eclipse自动生成了一个测试框架,...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:使用Junit4进行单元测试的相关配置
举报原因:
原因补充:

(最多只允许输入30个字)