`
wangjavablog
  • 浏览: 23468 次
  • 性别: Icon_minigender_1
  • 来自: 长春
社区版块
存档分类
最新评论

junit4 和spring-test结合使用

阅读更多

junit4相比junit3的最大区别就是引入了annotation,现在我写一个测试案例不用继承TestCase了,另外以前在testcase里面必须将测试方法都写成以test字符串开始的名字,现在不用了直接用@Test添加到类里面就ok了。

而spring配置文件的加载也简单了,在类定义的上面添加就可以自动加载spring配置文件。

确实比以前单独写个方法简单。赞annotation的强大。

@ContextConfiguration(locations={"。。。.xml"})
/*
 * Copyright 2006-2007 the original author or authors.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package org.springframework.batch.sample;

import org.junit.Test;
import org.springframework.context.Lifecycle;

/**
 * Abstract TestCase that automatically starts a Spring {@link Lifecycle} after
 * obtaining it automatically via autowiring by type.
 *
 * This implemenation is based on JUnit4 and SpringJUnit4ClassRunner being used
 * to provide autowiring. It should be noted that @ContextConfiguration must be
 * specified for dependency injection to work properly.
 *
 * @author Lucas Ward
 * @author Thomas Risberg
 *
 * @see org.springframework.test.context.junit4.SpringJUnit4ClassRunner
 */
public abstract class AbstractValidatingBatchLauncherTests extends AbstractBatchLauncherTests {

	@Test
	public void testLaunchJob() throws Exception {
		validatePreConditions();
		super.testLaunchJob();
		validatePostConditions();
	}

	/**
	 * Make sure input data meets expectations
	 * @throws Exception any exception thrown
	 */
	protected void validatePreConditions() throws Exception {
	}

	/**
	 * Make sure job did what it was expected to do.
	 * @throws Exception any exception thrown
	 */
	protected abstract void validatePostConditions() throws Exception;

}
 
package org.springframework.batch.sample;

import static org.junit.Assert.assertTrue;

import javax.sql.DataSource;

import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.simple.SimpleJdbcTemplate;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations={"FootballJobFunctionalTests-context.xml"})
public class FootballJobFunctionalTests extends AbstractValidatingBatchLauncherTests {

	private SimpleJdbcTemplate simpleJdbcTemplate;

	@Autowired
	public void setDataSource(DataSource dataSource) {
		this.simpleJdbcTemplate = new SimpleJdbcTemplate(dataSource);
	}

	@Override
	protected void validatePreConditions() throws Exception {
//		simpleJdbcTemplate.update("DELETE FROM PLAYERS");
//		simpleJdbcTemplate.update("DELETE FROM GAMES");
//		simpleJdbcTemplate.update("DELETE FROM PLAYER_SUMMARY");
//		super.validatePreConditions();
	}

	@Override
	protected void validatePostConditions() throws Exception {
//		int count = simpleJdbcTemplate.queryForInt("SELECT COUNT(*) from PLAYER_SUMMARY");
//		assertTrue(count > 0);
	}

}
分享到:
评论

相关推荐

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

    引入spring-test模块(通常为spring-test-4.x.x.jar或更高版本)后,可以更方便地对Spring组件进行隔离测试,同时能够利用Spring的IoC特性。 要进行SSM项目的单元测试,你需要做以下几步: 1. **添加依赖**:在你...

    struts-junit spring-mock spring-test junit的javadoc.jar文档

    struts-junit spring-mock spring-test junit等的javadoc.jar格式的API文档,直接导入Eclipse/MyEclipse/Netbeans等IDE即可实现快速API查询。 包含以下文件: File name -------------------------------------- ...

    spring-test and junit 的合集

    这个zip包里面有两个jar ,分别是两个版本的, 因为spring做单元测试的时候, 是很容易出现版本不兼容的情况, 所以我将我用到的jar包分享出来,zip包中内容:hamcrest-core-1.3、junit4.4、junit-4.12、spring_test...

    spring-test-3.2.0.RELEASE.jar

    本文将详细探讨`spring-test-3.2.0.RELEASE.jar`这一版本中的核心特性、使用方法及其在实际项目中的应用。 首先,`spring-test`模块的核心目标是简化Spring应用的测试工作,它提供了对JUnit、TestNG等主流测试框架...

    利用JUnit和Spring-test对SpringJDBC组件DAO层测试

    总之,通过JUnit和Spring-test的结合使用,我们可以对SpringJDBC组件的DAO层进行全面、严谨的测试,确保其功能的正确性和稳定性。同时,合理配置Druid数据源,有助于优化测试性能。测试不仅是为了找出问题,更是为了...

    spring-Test,Junit4 jar,和测试代码

    接下来,我们将深入探讨Spring Test与JUnit4的结合使用以及如何通过它们进行测试代码的编写。 首先,Spring Test模块提供了一组测试注解,如`@ContextConfiguration`、`@RunWith(SpringRunner.class)`等,这些注解...

    spring-test-3.2.3.RELEASE.jar

    Spring整合Junit测试时所需要的jar包。 spring-test-3.2.3.RELEASE.jar

    spring-test and junit

    分别是两个版本的, 因为spring做单元测试的时候, 是很容易出现版本不兼容的情况, 所以我将我用到的jar包分享出来,zip包中内容:spring_test2.5.5、spring-test-3.2.0.RELEASE 这个我忘了上传有关于junit的jar ,...

    spring-framework-2.5.6 (含junit-4.4.jar、spring-test.jar)

    而这次我们要探讨的是Spring Framework 2.5.6版本,它包含了对JUnit 4.4和Spring Test的支持,这使得测试驱动开发(TDD)在Spring项目中变得更加得心应手。 Spring Framework 2.5.6是该框架的一个里程碑版本,它...

    spring-test.zip

    虽然更常见的是与JUnit结合使用,但`spring-test`模块也支持TestNG,提供类似的测试支持和增强。 8. **Spock测试**: 对于喜欢使用Spock框架的开发者,Spring也提供了对Spock的集成,可以利用其强大的断言和数据...

    Spring-test做数据库操作的单元测试2-跨库访问

    首先,Spring-test的核心组件是`SpringJUnit4ClassRunner`或`SpringRunner`(在JUnit5中),它们使得我们可以在测试类中利用Spring的依赖注入功能。通过在测试类上添加`@RunWith(SpringRunner.class)`注解,我们可以...

    spring-boot-test示例程序

    在Spring Boot中,我们通常使用JUnit作为测试框架,结合`@RunWith(SpringRunner.class)`注解来运行Spring管理的测试。通过`@Autowired`注解注入需要的bean,并使用`@MockBean`或`@SpyBean`来创建mock对象,以便在...

    spring-Test jar,Junit4 jar

    spring整合Junit4所依赖的jar

    spring-text-3.2.8和junit4.10

    总的来说,"spring-test-3.2.8"和"junit-4.10"是Java开发中的重要测试工具,它们的结合使用能够帮助开发者有效地进行单元测试和集成测试,提高代码质量,降低维护成本。对于任何涉及Spring框架的项目来说,理解和...

    spring-test-4.2.4.RELEASE

    spring-text包,用于注释单元测试,比用junit那种方式方便一点。所以分享给大家,直接复制到lib文件下

    spring-test.jar

    spring-test.jar 用在junit4以上 在类上写 @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(locations={"WIN-INF/config/applicationContext.xml" })

    spring-test-junit5, JUnit ( a )的spring TestContext框架扩展( a ).zip

    spring-test-junit5, JUnit ( a )的spring TestContext框架扩展( a ) spring 5测试支持这个项目作为 5的正式 Prototype,在 spring TestContext框架测试支持,并与 SPR-13575结合到 Spring Framework 。 因此,在...

    spring-test-5.2.6.RELEASE.jar

    spring junit测试jar包

    spring-test-3.2.9.zip

    《Spring Test 3.2.9:单元测试与JUnit的深度整合》 在软件开发过程中,单元测试是一项至关重要的任务,它确保了代码的正确性...在实际项目中,结合使用Spring Test 3.2.9与JUnit,将大大优化开发流程,提高开发效率。

    spring-test项目实例

    spring-test项目实例 1.使用spring-test与junit进行单元测试。 2.包含回滚动作,避免测试数据污染数据库。

Global site tag (gtag.js) - Google Analytics