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单元测试代码示例同时也适用注解注入的形式测试(前提要导好测试的包哦,包MyEclipce自带了)
在搭建单元测试环境时,需要使用的 Jar 包有 junit4.jar 和 struts2-junit-plugin-2.1.8.jar。junit4.jar 是 Eclipse 自带的,可以在项目路径中导入。struts2-junit-plugin-2.1.8.jar 是 Struts2 提供的测试插件,...
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包。 Junit4是Java领域广泛使用的单元测试框架,它提供了一套丰富的注解,使得编写测试用例变得更加...
总之,Spring+JUnit4+Ant的组合为Java开发提供了强大的单元测试能力。通过合理配置和使用这些工具,开发者可以更高效地进行测试,保证代码质量,降低维护成本。在压缩包文件"junitTest"中,可能包含了示例的测试代码...
基于Springboot+Junit+Mockito做单元测试的示例 本文将从多个角度详细介绍如何使用Springboot、Junit和Mockito进行单元测试,并以实例代码演示。以下是本文的知识点总结: 一、单元测试的重要性 单元测试是软件...
综上所述,"单元测试案例junit +spring mvc +springboot"涉及的是使用JUnit进行单元测试,结合Spring MVC和Spring Boot的特点,对服务端代码进行详尽的验证,确保代码的稳定性和可靠性。通过合理的测试策略和工具,...
总结起来,"maven+spring+mybatis+mysql+junit jar项目框架搭建"是一个完整的Java后端开发流程,涵盖了从项目构建、服务层、数据访问层到数据库管理和单元测试的全过程。这样的框架为开发者提供了一个高效、稳定且...
4. **运行单元测试**: - Ant通过调用`<junit>`任务运行测试用例,可以指定测试类、测试方法,以及生成XML格式的测试报告。 - 测试结果可以通过Ant的其他任务,如`<junitreport>`,进一步处理和展示。 5. **邮件...
这篇博客主要探讨了如何使用JUnit进行Spring MVC Controller的单元测试。在实际开发中,单元测试可以帮助我们尽早发现潜在的问题,提高软件的可靠性和可维护性。 首先,让我们了解Spring MVC的基本概念。Spring MVC...
总之,单元测试是保证代码质量的重要手段,在Struts+Spring的环境下,需要结合JUnit和Mockito等工具,对Action、Service和DAO进行有效的测试,确保每一层的功能都能够正确无误地工作。通过详尽的测试,可以提前发现...
在案例中,你将看到如何创建测试类,定义测试方法,设置测试数据,以及如何利用JUnit和Spring/Struts提供的工具来编写高效的单元测试。通过分析和运行源码,你可以了解如何将这些概念应用于实际项目,提高代码质量。...
Junit4.8则是Java单元测试的重要工具,它使得开发者可以方便地编写和执行测试用例,确保代码的正确性。而多线程在现代编程中扮演着关键角色,特别是在处理并发任务、提高系统效率时。 在"spring4+junit4.8 +多线程...
`Junit` 和 `dbunit` 是两个非常重要的工具,它们分别针对Java应用程序的单元测试和数据库测试提供支持。让我们详细了解一下这两个库以及如何将它们结合使用。 `Junit` 是一个流行的开源Java单元测试框架,由Ernst ...
在软件开发领域,测试是不可或缺的一部分,而Java开发中的Junit框架则是单元测试的重要工具。结合持久层框架Hibernate和依赖注入框架Spring,可以构建出高效、可维护的业务应用。本工程“junit+hibernate3.2+spring...
标题中的“hibernate+spring+junit+ant+mysql”是一个经典的Java开发组合,它涵盖了五个重要的技术领域:Hibernate作为对象关系映射框架,Spring作为全面的轻量级框架,JUnit用于单元测试,Ant作为构建工具,以及...
单元测试—— Spring 环境下测试,所需要的jar包: spring-test-4.3.29.RELEASE.jar、junit-4.13.1.jar、hamcrest-core-1.3.jar。
总的来说,Spring4提供了丰富的测试支持,结合JUnit能够实现从单元测试到集成测试的全面覆盖。这不仅提高了代码质量,也加速了问题定位和修复的过程。在实际开发中,应充分利用这些工具,确保软件的健壮性和稳定性。...
6. 集成JUnit4,编写测试类,使用@Test注解标记测试方法,进行单元测试。 7. 配置log4j,根据项目需求调整日志输出级别和目的地。 以上就是关于“Hibernate4+SpringMVC+Junit4+log4j环境搭建”的详细说明。在实际...
这个项目的核心是利用Spring作为应用的ioc(Inversion of Control,控制反转)和aop(Aspect Oriented Programming,面向切面编程)容器,MyBatis作为持久层框架,以及JUnit4用于进行单元测试和集成测试。...