使用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进行单元测试(中级篇)

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

myeclipse使用JUnit4进行单元测试

class文件上右击--New JUnit Test Case,创建setUp的method; Next 选择要测试的方法,生成*Test.class文件; 在生成的*Test.class文件上,...
  • p1i2n3g4
  • p1i2n3g4
  • 2017年02月17日 15:49
  • 1552

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

四、实例总结 1. 参数化测试 有时一个测试方法,不同的参数值会产生不同的结果,那么我们为了测试全面,会把多个参数值都写出来并一一断言测试,这样有时难免费时费力,这是我们便可以采用参数化测...
  • dreamjava9213
  • dreamjava9213
  • 2014年12月15日 23:01
  • 2074

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

首先导入junit所需要的jar包,然后在需要测试的方法上加相应的注解: 在右侧点击相应的方法,然后点击run as,选择Junit test。如果通过的话右下角Junit会显示绿条,测试不通...
  • qq_36864672
  • qq_36864672
  • 2017年10月15日 09:43
  • 211

springMVC整合Junit4进行单元测试

springMVC整合Junit4进行单元测试 标签: springMVC整合Junit4junit单元测试教程springMVC入门教程   spring(10)  ...
  • tongyong128
  • tongyong128
  • 2017年02月21日 12:08
  • 543

Idea配置JUnit4单元测试入门

pom.xml文件配置 junit junit RELEASE test 然后创建一个和src同级别...
  • jekxi
  • jekxi
  • 2017年01月07日 13:48
  • 2312

使用Junit4对由Maven管理的Spring项目进行单元测试

今天需要开发一个暂时没有页面的功能,这样就不能通过普通的B/S访问去调用代码。以前把JUnit看的太小儿科,所以根本没有想到还能用它结合Srping来测试Service层或者Dao层的逻辑。 这里...
  • MJ20110608
  • MJ20110608
  • 2016年08月22日 19:47
  • 322

Spring集成Junit4单元测试

1、maven依赖 4.2.4.RELEASE 1.7 3.1
  • FX_SKY
  • FX_SKY
  • 2016年06月13日 00:13
  • 8053

Scala使用JUnit4单元测试

Scala使用JUnit4单元测试Maven pom: junit junit 4.11 test Test code:import org.junit.{Assert, Test...
  • liangyihuai
  • liangyihuai
  • 2017年02月15日 13:47
  • 1987

Junit+spring创建JNDI运行测试用例

项目中数据源采用JNDI的方式,因为JNDI由容器提供, 因此在跑Junit用例时,必须要先创建一个JNDI才行。 其实用spring创建jndi十分的简单,首先编写一个测试用的创建数据源信息的配...
  • johnjobs
  • johnjobs
  • 2014年07月16日 15:56
  • 2561
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:使用Junit4进行单元测试的相关配置
举报原因:
原因补充:

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