-
spring 做持久层测试的问题5
代码是这样的import org.springframework.test.AbstractTransactionalDataSourceSpringContextTests; import com.tnt.dao.TntUserDAO; /** * @author Administrator * */ public class testUserDAO extends AbstractTransactionalDataSourceSpringContextTests { private TntUserDAO userDao; /** *//** * @return 返回 userDao。 */ public TntUserDAO getUserDAO() { return userDao; } /** *//** * @param exQqueryDAO 要设置的 exQqueryDAO。 */ public void setUserDAO(TntUserDAO userDao) { this.userDao = userDao; } /** * */ public String[] getConfigLocations(){ String[] result = {"file:web//WEB-INF//applicationContext.xml"}; return result; } public void testSave(){ System.out.println("userDao = "+ userDao); } /** * */ /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub junit.textui.TestRunner.run(testUserDAO.class); } }
运行后出现了java.lang.NoSuchMethodError: org.springframework.util.ObjectUtils.nullSafeToString(Ljava/lang/Object;)Ljava/lang/String; at org.springframework.test.AbstractSpringContextTests.contextKeyString(AbstractSpringContextTests.java:134) at org.springframework.test.AbstractSpringContextTests.getContext(AbstractSpringContextTests.java:101) at org.springframework.test.AbstractSingleSpringContextTests.setUp(AbstractSingleSpringContextTests.java:83) at junit.framework.TestCase.runBare(TestCase.java:125) at org.springframework.test.ConditionalTestCase.runBare(ConditionalTestCase.java:69) at junit.framework.TestResult$1.protect(TestResult.java:106) at junit.framework.TestResult.runProtected(TestResult.java:124) at junit.framework.TestResult.run(TestResult.java:109) at junit.framework.TestCase.run(TestCase.java:118) at junit.framework.TestSuite.runTest(TestSuite.java:208) at junit.framework.TestSuite.run(TestSuite.java:203) at org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3TestReference.java:128) at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460) 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)
求各位解决
问题补充:
自己解决了 是spring-mok。jar 的版本问题
使用eclipse AddLibrary 重新添加一下就好了
呵呵 谢谢llade (高级程序员)的回答 这个是我的另外一个问题
不过解决不是// 而是要用class的路径2008年6月28日 13:12
1个答案 按时间排序 按投票排序
-
采纳的答案
/**
*
*/
public String[] getConfigLocations(){
String[] result = {"file:web//WEB-INF//applicationContext.xml"};
return result;
}
这个是不是有问题啊?“/”不是用"//",另外。Spring的api文档中有这么一句。
引用
WARNING: When doing integration tests from within Eclipse, only use classpath resource URLs. Else, you may see misleading failures when changing context locations.
建议你的applicationContext.xml拷贝一份到java源程序文件夹的根目录下吧(通常是src或者JavaSource目录)
2008年6月28日 13:40
相关推荐
### 使用Hibernate和Spring开发持久层的关键知识点 #### 引言 在现代企业级应用开发中,数据持久化是一项核心需求,而使用Hibernate和Spring构建事务持久层成为了许多开发者的选择。Hibernate,作为一款强大的对象...
同时,测试时可以利用Spring的Mockito或DBUnit进行单元测试,确保持久层的正确性。 5. 测试驱动开发(TDD) 在文章中提到的示例中,使用了DbUnit进行测试驱动开发。TDD是一种软件开发方法,强调先写测试用例,再...
在本文中,我们将深入探讨如何使用Hibernate和Spring框架来构建企业级应用的持久层。Hibernate作为一款强大的对象关系映射(ORM)工具,允许开发者将Java对象直接映射到数据库表,极大地简化了数据访问层的开发。而...
同时,使用JPA或Hibernate等持久层框架的测试工具,如Hibernate Test或者Spring Data JPA的@TestRepositoryDependsOn,可以帮助我们在测试环境中配置数据源并初始化数据,以便进行数据库操作的测试。 在实际测试...
Spring Boot 集成持久层及应用 Spring Boot 是在 Spring(Spring4.0 版本)基础之上产生的,其中“Boot”的意思就是“引导”,意在简化开发模式,使开发者能够快速的开发出基于 Spring 的应用。Spring Boot 含有...
7. **Transaction Management**:Spring测试默认在一个独立的事务中运行每个测试方法,这意味着即使测试失败,也不会对数据库造成持久性影响。`@Transactional`注解可用于测试方法,确保每次测试后都能回滚事务。 8...
在Spring框架中,持久化是将应用程序数据存储到数据库的关键环节。Spring提供了多种持久化模板,如JdbcTemplate和HibernateTemplate,以简化数据库操作并减少代码中的样板代码。这两个模板都是Spring JDBC模块的一...
在测试持久层代码时,可以使用Spring Boot的`@DataJpaTest`或`@MyBatisTest`注解,它们会自动配置相关数据源和事务管理。性能优化方面,可以关注SQL执行效率、连接池配置、缓存策略等。 综上所述,Spring Boot整合...
控制器测试用于测试持久层接口的正确性。通过控制器测试,可以验证持久层接口的功能是否正确。 使用SpringBoot框架基础上使用MyBatis简化持久层开发的优点有很多。例如,MyBatis框架提供了强大的SQL映射功能,能够...
本课程设计以Hibernate和Spring为基础,探讨如何设计和实现高效、灵活的数据持久层,以提升软件的可维护性和可扩展性。 1.2设计意图 设计基于Hibernate和Spring的数据持久层的主要目的是减少手动编写SQL语句,通过...
测试ORM层时,我们需要确保数据持久化操作正确无误。Hibernate Test或Hibernate Tools可以辅助进行这方面的测试,包括实体验证、会话管理以及HQL查询的验证。 软件测试是整个开发过程中的关键部分,它涵盖了所有...
Struts2的Action会处理这些用户请求,并调用Spring管理的Service层对象,Service层再通过Hibernate与数据库进行交互。例如,`UserAction`可能用于处理用户的登录请求,它会调用`UserService`中的`login()`方法,`...
这包括理解并使用`@RunWith`, `@ContextConfiguration`, `@Autowired`, `@SpringBootTest`等注解,以及处理数据源、持久层测试、模拟对象和测试隔离等技术。同时,了解如何使用测试驱动开发和行为驱动开发的实践,...
在"Spring3整合Hibernate4测试Demo"中,我们将探讨如何将Spring3作为服务层容器,管理Hibernate4的数据访问组件。这个Demo主要包含以下几个关键知识点: 1. **Spring的IoC(Inversion of Control,控制反转)**:...
这个项目组合通常被称为“SSM”框架,是Java Web开发中的主流选择,提供了强大的依赖注入、MVC架构和持久层管理功能。 1. **Spring框架** Spring是一个全面的企业级应用开发框架,核心特性包括依赖注入(DI)和...
6. **服务层设计**:服务层是业务逻辑的核心,它调用DAO层的方法实现具体功能,并通过Spring的@Autowired注解注入所需的DAO实例。 7. **测试**:在代码测试过程中,我们需要编写单元测试和集成测试。Spring提供了...
1. **源代码**:包含了用Java编写的Spring应用程序,可能有服务层(Service)、持久层(Repository)、控制层(Controller)等。 2. **配置文件**:如`applicationContext.xml`或`@Configuration`注解的Java类,用于...
MyBatis是一个优秀的持久层框架,它简化了Java与数据库之间的交互。MyBatis将SQL语句直接写在XML配置文件或注解中,使得SQL与Java代码紧密集成,避免了传统JDBC的繁琐操作。同时,MyBatis支持动态SQL,允许开发者...
文件名“Spring阶段小测试机试题.doc”可能包含了一系列关于Spring框架的问题和解答,可能涉及配置、bean的生命周期、AOP的实现、事务管理等内容,这些都是Spring核心概念的考察点。"sql.sql"文件则很可能是SQL查询...
这些文件是Java EE开发中常用的一些库,涵盖了Spring框架、Hibernate ORM、MyBatis轻量级持久层框架、日志管理以及MySQL数据库连接等关键组件。以下是对这些库的详细解释: 1. **Spring框架**:Spring是Java企业级...