`

junit4+spring单元测试

 
阅读更多
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.FixMethodOrder;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.MethodSorters;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;


import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import static org.hamcrest.Matchers.*;

import static org.junit.Assert.*;


/**
 * Created by yanlei on 2014/7/31.
 Spring+Junit4 单元测试
 类级别的Annotation:
 @RunWith(SpringJUnit4ClassRunner.class)  --指明用spring+junit4进行单元测试
 @ContextConfiguration(value = {"classpath*:config/spring/base/component*.xml"})  --指明spring配置文件,多个配置文件用逗号分隔,在类中就可以使用@Resource 或@AutoWire 引用spring配置的Bean
 @FixMethodOrder(MethodSorters.NAME_ASCENDING)--@Test 标注的测试方法,按方法名排序结果顺序(由小到大)进行测试

 属性级别的Annotation:
 @Resource(name="personMapper") ---spring注入bean

 方法级别的Annotation:
 @BeforeClass --方法必须为static void 最先执行且只执行一次
 @AfterClass  --方法必须为static void 最后执行且只执行一次
 @Before   --每个标注@Test的测试方法之前执行,执行多次,最先执行那次是在@BeforeClass之后
 @Test  --标注该方法为测试方法在,可以标注多个方法,即多个方法都是测试方法,多个测试方法测试顺序由FixMethodOrder决定,每个测试方法在 @Before之后执行
    参数 @Test(expected = Exception.class) 方法抛出指定的异常,则测试通过
         @Test(timeout=5000) 方法执行时间超过5秒,则测试不通过
 @Ignore 忽略的测试方法

执行顺序:@BeforeClass->@Before->@Test(方法1)->@After->@Before->@Test(方法2)->@After....@Before->@Test(方法N)->@After->@AfterClass
 */
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(value = {"classpath*:config/spring/base/component*.xml"})
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
public class PersonTest {

    @Resource(name="personMapper")//spring注入bean
    private PersonMapper personMapper;


   private static  Person person = null;
    @BeforeClass
    public static void before(){
        person = new Person();
        person.setBirthday(new Date());
        String id= AppStringUtils.getUUID();
        person.setId(id);

        person.setIdentityNumber("2102302930");
        person.setName("yanlei");
        person.setSex("男");
    }
    @Test
    public void test1DeleteByExamplee(){
        PersonExample  personExample = new PersonExample();
        personExample.createCriteria().andNameEqualTo("yanlei");
        this.personMapper.deleteByExample(personExample);
    }
    @Test

    public void test3Insert(){

        int insertNum = this.personMapper.insert(person);
        assertThat(1,equalTo(insertNum));

    }
    @Test
    public void test5CountByExample(){
       List<Date> birthdayList= new ArrayList();
        birthdayList.add(AppDateUtils.parseString("20000101"));
        birthdayList.add(AppDateUtils.parseString("20010101"));
        birthdayList.add(new Date());
        PersonExample  personExample = new PersonExample();
        personExample.createCriteria()
                .andBirthdayBetween(AppDateUtils.parseString("20000101"),AppDateUtils.parseString("2020101"))
                .andBirthdayEqualTo(new Date())
                .andBirthdayGreaterThan(AppDateUtils.parseString("20140101"))
                .andBirthdayIn(birthdayList)
                .andBirthdayIsNotNull()
                .andBirthdayLessThan(AppDateUtils.parseString("2020101"))
                .andBirthdayLessThanOrEqualTo(AppDateUtils.parseString("2020101"))
                .andBirthdayNotBetween(AppDateUtils.parseString("2020101"),AppDateUtils.parseString("2021101"));

       int countNum  =  this.personMapper.countByExample(personExample);
       assertThat(countNum,equalTo(1));

    }
    @Test
    public void test9delete(){

            int deleteNum = this.personMapper.deleteByPrimaryKey(person.getId());
            assertThat(deleteNum, equalTo(1));

    }
}

 

分享到:
评论

相关推荐

    Junit4+Spring2.5单元测试代码示例(也适用注解测试)

    Junit4+Spring2.5单元测试代码示例同时也适用注解注入的形式测试(前提要导好测试的包哦,包MyEclipce自带了)

    Struts2+Spring+hibernate中对action的单元测试环境搭建[总结].pdf

    在搭建单元测试环境时,需要使用的 Jar 包有 junit4.jar 和 struts2-junit-plugin-2.1.8.jar。junit4.jar 是 Eclipse 自带的,可以在项目路径中导入。struts2-junit-plugin-2.1.8.jar 是 Struts2 提供的测试插件,...

    junit4 +spring jar包

    spring添加 单元测试 junit4 +spring jar包: hamcrest-core-1.3.jar junit-4.12.jar spring-test-4.2.5.RELEASE.jar

    SSM中进行单元测试Junit4+spring-test所需jar包

    在SSM环境中,使用Junit4和spring-test库进行单元测试是标准做法。下面将详细解释如何使用这两个库以及所需的jar包。 Junit4是Java领域广泛使用的单元测试框架,它提供了一套丰富的注解,使得编写测试用例变得更加...

    Spring+JUnit4 +Ant测试报告

    总之,Spring+JUnit4+Ant的组合为Java开发提供了强大的单元测试能力。通过合理配置和使用这些工具,开发者可以更高效地进行测试,保证代码质量,降低维护成本。在压缩包文件"junitTest"中,可能包含了示例的测试代码...

    基于Springboot+Junit+Mockito做单元测试的示例

    基于Springboot+Junit+Mockito做单元测试的示例 本文将从多个角度详细介绍如何使用Springboot、Junit和Mockito进行单元测试,并以实例代码演示。以下是本文的知识点总结: 一、单元测试的重要性 单元测试是软件...

    单元测试案例junit +spring mvc +springboot

    综上所述,"单元测试案例junit +spring mvc +springboot"涉及的是使用JUnit进行单元测试,结合Spring MVC和Spring Boot的特点,对服务端代码进行详尽的验证,确保代码的稳定性和可靠性。通过合理的测试策略和工具,...

    maven+spring+mybatis+mysql+junit jar项目框架搭建

    总结起来,"maven+spring+mybatis+mysql+junit jar项目框架搭建"是一个完整的Java后端开发流程,涵盖了从项目构建、服务层、数据访问层到数据库管理和单元测试的全过程。这样的框架为开发者提供了一个高效、稳定且...

    Ant+Junit+Svn实现自动单元测试

    4. **运行单元测试**: - Ant通过调用`&lt;junit&gt;`任务运行测试用例,可以指定测试类、测试方法,以及生成XML格式的测试报告。 - 测试结果可以通过Ant的其他任务,如`&lt;junitreport&gt;`,进一步处理和展示。 5. **邮件...

    spring MVC junit 单元测试(controller)

    这篇博客主要探讨了如何使用JUnit进行Spring MVC Controller的单元测试。在实际开发中,单元测试可以帮助我们尽早发现潜在的问题,提高软件的可靠性和可维护性。 首先,让我们了解Spring MVC的基本概念。Spring MVC...

    Struts+Spring框架下的单元测试[总结].pdf

    总之,单元测试是保证代码质量的重要手段,在Struts+Spring的环境下,需要结合JUnit和Mockito等工具,对Action、Service和DAO进行有效的测试,确保每一层的功能都能够正确无误地工作。通过详尽的测试,可以提前发现...

    Junit 单元测试完整案例

    在案例中,你将看到如何创建测试类,定义测试方法,设置测试数据,以及如何利用JUnit和Spring/Struts提供的工具来编写高效的单元测试。通过分析和运行源码,你可以了解如何将这些概念应用于实际项目,提高代码质量。...

    spring4+junit4.8 +多线程TheadTool

    Junit4.8则是Java单元测试的重要工具,它使得开发者可以方便地编写和执行测试用例,确保代码的正确性。而多线程在现代编程中扮演着关键角色,特别是在处理并发任务、提高系统效率时。 在"spring4+junit4.8 +多线程...

    Junit+dbunit单元测试jar包

    `Junit` 和 `dbunit` 是两个非常重要的工具,它们分别针对Java应用程序的单元测试和数据库测试提供支持。让我们详细了解一下这两个库以及如何将它们结合使用。 `Junit` 是一个流行的开源Java单元测试框架,由Ernst ...

    junit+hibernate3.2+spring2.5工程

    在软件开发领域,测试是不可或缺的一部分,而Java开发中的Junit框架则是单元测试的重要工具。结合持久层框架Hibernate和依赖注入框架Spring,可以构建出高效、可维护的业务应用。本工程“junit+hibernate3.2+spring...

    hibernate+spring+junit+ant+mysql

    标题中的“hibernate+spring+junit+ant+mysql”是一个经典的Java开发组合,它涵盖了五个重要的技术领域:Hibernate作为对象关系映射框架,Spring作为全面的轻量级框架,JUnit用于单元测试,Ant作为构建工具,以及...

    SpringJUnit4ClassRunner 单元测试

    单元测试—— Spring 环境下测试,所需要的jar包: spring-test-4.3.29.RELEASE.jar、junit-4.13.1.jar、hamcrest-core-1.3.jar。

    spring4+JUnit简单测试

    总的来说,Spring4提供了丰富的测试支持,结合JUnit能够实现从单元测试到集成测试的全面覆盖。这不仅提高了代码质量,也加速了问题定位和修复的过程。在实际开发中,应充分利用这些工具,确保软件的健壮性和稳定性。...

    Hibernate4+SpringMVC+Junit4+log4j环境搭建Jar包

    6. 集成JUnit4,编写测试类,使用@Test注解标记测试方法,进行单元测试。 7. 配置log4j,根据项目需求调整日志输出级别和目的地。 以上就是关于“Hibernate4+SpringMVC+Junit4+log4j环境搭建”的详细说明。在实际...

    spring3 + mybatis3 + junit4 可运行项目示例

    这个项目的核心是利用Spring作为应用的ioc(Inversion of Control,控制反转)和aop(Aspect Oriented Programming,面向切面编程)容器,MyBatis作为持久层框架,以及JUnit4用于进行单元测试和集成测试。...

Global site tag (gtag.js) - Google Analytics