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

来源:互联网 发布:二手交易软件 编辑:程序博客网 时间:2024/05/20 00:12

最近在进行框架搭建,就设计到单元测试,记录一下,备忘。
使用的框架是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测试要求事务支持就是了。

0 0
原创粉丝点击