先贴上代码吧,
1.基础类,用于加载环境配置信息
package com.xxxx.xxx.oss.base;
import javax.annotation.Resource;
import javax.sql.DataSource;
import org.junit.runner.RunWith;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.AbstractTransactionalJUnit4SpringContextTests;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
/**
* [Product]
* xxxxxxx
* [Copyright]
* Copyright © 2010 xxxxxxx All Rights Reserved.
* [FileName]
* BaseTest.java
* [History]
* Version Date Author Content
* -------- --------- ---------- ------------------------
* 1.0.0 Jun 17, 2010 zengjr 最初版本
*/
/**
* <b>Summary: </b> TODO Junit 基础类,加载环境
* <b>Remarks: </b> TODO 基础类
*/
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = { "/com/xxxx/xxxxx/xxxx/config/applicationContext-*.xml" })
public class BaseTest extends AbstractTransactionalJUnit4SpringContextTests {
/**
* <b>Summary: </b> 复写方法 setDataSource
*
* @param dataSource
* @see org.springframework.test.context.junit4.AbstractTransactionalJUnit4SpringContextTests#setDataSource(javax.sql.DataSource)
*/
@Override
@Resource(name = "adminDataSource")
public void setDataSource(DataSource dataSource) {
// TODO Auto-generated method stub
super.setDataSource(dataSource);
}
}
2.一个实例子类,代码如下
package com.xxxx.xxxx.xxxx.dao;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.springframework.beans.factory.annotation.Autowired;
import com.xxxx.xxxx.xxxx.base.BaseTest;
import com.xxxx.xxxx.xxxxx.xxxx.UserSuspectDAO;
/**
* [Product]
* XXXXX
* [Copyright]
* Copyright © 2010 XXXXX All Rights Reserved.
* [FileName]
* UserSuspectDAOTest.java
* [History]
* Version Date Author Content
* -------- --------- ---------- ------------------------
* 1.0.0 Jun 17, 2010 zengjr 最初版本
*/
/**
* <b>Summary: </b>
* TODO 请在此处简要描述此类所实现的功能。因为这项注释主要是为了在IDE环境中生成tip帮助,务必简明扼要
* <b>Remarks: </b>
* TODO 请在此处详细描述类的功能、调用方法、注意事项、以及与其它类的关系
*/
public class UserSuspectDAOTest extends BaseTest {
@Autowired
private UserSuspectDAO userSuspectDAO;
@Before
public void setUp() throws Exception{
System.out.println("junit....");
}
//
@After
public void tearDown() throws Exception{
}
@Test
public void testupdateStatus(){
System.out.println("junit....");
userSuspectDAO.updateStatus(567);
}
}
常遇到的问题
(上面的重写了setDataSource 是因为在我的项目里有几个dataSource,前台,后台,微博,博客四个dataSource,所以我这要这样明确指定一下
public void setDataSource(DataSource dataSource)
)
1.No Jnuit tests found
或者
The input
type of the launch configuration does not exist
解决办法,鼠标点中test(这个目录与src同级)右键build path--->user as source floder
2.
java.lang.NoSuchFieldError: NULL
at org.junit.runners.ParentRunner.<init>(ParentRunner.java:48)
at org.junit.runners.BlockJUnit4ClassRunner.<init>(BlockJUnit4ClassRunner.java:59)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.<init>(SpringJUnit4ClassRunner.java:104)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:494)
at org.junit.internal.requests.ClassRequest.buildRunner(ClassRequest.java:33)
at org.junit.internal.requests.ClassRequest.getRunner(ClassRequest.java:28)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.<init>(JUnit4TestReference.java:26)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestClassReference.<init>(JUnit4TestClassReference.java:24)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.createTest(JUnit4TestLoader.java:40)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.loadTests(JUnit4TestLoader.java:30)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:445)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)
解决办法,由于JUNIT的JAR 包冲突,原来用的是junit-4.4.jar,下载替换成junit-4.8.1.jar就OK了
依赖包:spring-test.jar,junit-4.8.1.jar
加载配置:除上面这样的写法外还可以这样写,使用classpath:xxxx
@ContextConfiguration(locations
=
{
"
classpath:xxxxx
代码里的@Autowired是自动注入bean。
代码里的@Test告诉junit跑哪个方法为单元测试方法。
分享到:
相关推荐
8. **测试支持**:Spring 2.5提供了更完善的测试工具,如`@RunWith(SpringJUnit4ClassRunner.class)`和`@ContextConfiguration`注解,使得基于Spring的应用测试更加便捷。 9. **集成其他框架**:Spring 2.5加强了与...
5.测试支持:Spring 2.5提供了JUnit和Mockito的集成,便于进行单元测试和集成测试。 总结,Spring 2.5作为Spring框架的一个重要里程碑,它的改进和特性为Java开发者带来了更加高效、灵活的开发体验。通过深入理解并...
- `@RunWith(SpringJUnit4ClassRunner.class)`:这是JUnit测试类必须的注解,它告诉JUnit使用Spring提供的测试运行器来执行测试。 - `@ContextConfiguration`:用于指定配置文件的位置或加载ApplicationContext的...
在本工程中,我们可以看到如何设置Junit测试类,对Spring和Hibernate的集成功能进行验证。 2. Hibernate3.2:作为一款强大的对象关系映射(ORM)框架,Hibernate3.2简化了数据库操作,使得开发者可以使用Java对象而...
6. **单元测试**:Spring支持JUnit和TestNG进行单元测试,提供了方便的测试工具,如`@RunWith(SpringJUnit4ClassRunner.class)`和`@ContextConfiguration`注解,可以方便地创建和管理测试环境。 7. **国际化支持**...
12. **spring-test.jar**:用于测试Spring应用,提供了测试上下文框架和JUnit集成,方便进行单元测试和集成测试。 以上是Spring 2.5中常见的jar包,它们共同构成了Spring框架的强大功能。然而,值得注意的是,...
Spring 2.5 的 TestContext 测试框架为开发人员提供了一种更为简洁、灵活的方式来编写和组织单元测试。通过使用注解来配置测试逻辑,可以极大地提高测试代码的可读性和可维护性。同时,结合 Hibernate 进行数据库...
9. **测试支持**:Spring提供了丰富的测试工具和框架,如Spring Test和JUnit集成,方便进行单元测试和集成测试。 10. **JSR-303支持**:Spring 2.5引入了对JSR-303标准的验证框架的集成,简化了Java Bean的验证过程...
Spring测试框架是Spring生态系统中的重要组成部分,它为开发者提供了对Spring应用进行单元测试、集成测试以及端到端测试的强大支持。这个压缩包“Spring测试框架.rar”包含了与使用Spring 2.5 TestContext测试框架...
在测试方面,手册提供了关于单元测试和集成测试的指导,包括使用JUnit、Mockito等工具,以及Spring的TestContext框架,帮助开发者编写高质量的测试代码,确保软件的稳定性和可靠性。 最后,手册还包含了一些最佳...
7. **测试**:编写JUnit测试用例,验证整合是否成功。 **最佳实践** - 使用注解来减少XML配置,提高代码可读性。 - 利用Spring的AOP进行事务管理,保证数据一致性。 - 使用Spring的Data Access Objects(DAO)和...
5. 测试和运行:通过JUnit进行单元测试,确保各层功能正常,然后部署应用,测试整个流程是否顺畅。 这个框架组合的优点在于,Struts处理用户请求,Spring管理业务逻辑和服务,Hibernate处理数据持久化,三者分工...
6. **测试框架支持**:Spring 2.5对JUnit4的支持使得测试更加便捷,允许开发者使用注解来配置测试环境。 7. **Spring XML命名空间的扩展**:Spring 2.5添加了许多新的XML命名空间,提供了更多配置选项,如数据源...
17.5.4 编写BoardDao测试用例 17.6 服务层开发 17.6.1 UserService的开发 17.6.2 ForumService的开发 17.6.3 服务类Bean的装配 17.7 对服务层进行测试 17.7.1 编写Service测试基类 17.7.2 编写ForumService测试用例 ...
"CRM完整版 spring2.5注解+hibernate3.0"是一个专为中级程序员设计的项目,旨在帮助他们深入理解和应用Spring 2.5版本的注解以及Hibernate 3.0 ORM框架。 Spring 2.5是Spring框架的一个里程碑版本,它引入了大量的...
### Spring2.5 + Struts1.3.8 + Hibernate3.0 整合知识点详解 #### 一、概述 Spring2.5 + Struts1.3.8 + Hibernate3.0 (简称SSH)整合是一种典型的Java Web开发模式,旨在通过组合这三种技术框架来构建高性能、易于...
标题 "Spring2.5 + JPA(Hibernate)实现" 指的是在Spring框架的2.5版本中集成Java Persistence API (JPA) 和Hibernate ORM框架来管理数据库操作。这通常涉及利用Spring的IoC(Inversion of Control)和AOP(Aspect ...
9. **测试**:编写Junit测试用例,覆盖业务逻辑和DAO层的方法,确保功能的正确性。 通过这样的整合,开发者可以享受到各框架的特性,比如Spring的依赖注入,Struts的MVC处理,以及iBatis的灵活数据库操作,从而提高...
17.5.4 编写BoardDao测试用例 17.6 服务层开发 17.6.1 UserService的开发 17.6.2 ForumService的开发 17.6.3 服务类Bean的装配 17.7 对服务层进行测试 17.7.1 编写Service测试基类 17.7.2 编写ForumService测试用例 ...