`

Spring与junit结合测试

    博客分类:
  • java
 
阅读更多
假设Spring配置文件为applicationContext.xml


一、Spring配置文件在类路径下面

在Spring的java应用程序中,一般我们的Spring的配置文件都是放在放在类路径下面(也即编译后会进入到classes目录下)。

以下是我的项目,因为是用maven管理的,所以配置文件都放在“src/main/resources”目录下



这时候,在代码中可以通过
    ApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContext.xml");
 

然后获取相应的bean。


如果代码想用Junit测试框架来测试,则Spring提供了对Junit支持,还可以使用注解的方式:
    @RunWith(SpringJUnit4ClassRunner.class)  
    @ContextConfiguration(locations={"classpath:applicationContext.xml"})  


只需要在相应的Test类前面加上此两个注解(第二个注解用来指明Spring的配置文件位置),就可以在Junit Test类使用中Spring提供的依赖注入功能。

二、Spring配置文件在WEB-INF下面

当然在做J2EE开发时,有些人习惯把Spring文件放在WEB-INF目录(虽然更多人习惯放在类路径下面)下面;或者有些Spring配置文件是放在类路径下面,而有些又放在

WEB-INF目录下面,如下图。


这时候,在代码中就不可以使用ClassPathXmlApplicationContext来加载配置文件了,而应使用FileSystemXmlApplicationContext。
    ApplicationContext applicationContext = new FileSystemXmlApplicationContext("src/main/webapp/WEB-INF/applicationContext.xml"); 


然后获取相应的bean。


如果代码想用Junit测试框架来测试,则Spring提供了对Junit支持,还可以使用注解的方式:
    @RunWith(SpringJUnit4ClassRunner.class)  
    @ContextConfiguration(locations={"file:src/main/webapp/WEB-INF/applicationContext.xml"})   

只需要在相应的Test类前面加上此两个注解(第二个注解用来指明Spring的配置文件位置),就可以在Junit Test类使用中Spring提供的依赖注入功能。


下面是我的一个Spring管理下的Junit测试类:
    package com.sohu.group.service.external;  
      
    import java.util.List;  
      
    import org.junit.Test;  
    import org.junit.runner.RunWith;  
    import org.springframework.beans.factory.annotation.Autowired;  
    import org.springframework.test.context.ContextConfiguration;  
    import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;  
      
    @RunWith(SpringJUnit4ClassRunner.class)  
    @ContextConfiguration({"file:src/main/webapp/WEB-INF/applicationContext.xml"})  
    public class SuFriendServiceImplOverRMITest {  
      
        @Autowired  
        private SuFriendService suFriendService;  
          
        @Test  
        public void getUserFollowerListTest(){  
            List<String> list = suFriendService.getUserFollowerList("liug_talk@163.com");  
            System.out.println("------"+list);  
        }  
    }  
分享到:
评论

相关推荐

    springmybatis:spring和mybatis的结合,maven构造,加入junit测试

    springmybatis spring、springmvc和mybatis的结合,maven构造,加入junit测试

    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-junit-selenium:这个项目是一个简单的例子,展示了如何结合 Spring、JUnit 和 Selenium 来实现用户自动化验收测试

    spring-junit-Selenium 这个项目是一个简单的例子,展示了如何结合 Spring、JUnit 和 Selenium 来实现用户自动化验收测试。

    JUnit(针对spring和hibernate)

    针对spring和hibernate框架进行的测试原理和例子,最好结合我发布的关于Junit测试一起看!

    spring-test-3.2.9.zip

    结合spring 单元测试需要的jar包,Spring整合Junit测试,希望对大家有帮助,谢谢啊!

    testcontainers-junit5:简单的演示演示了如何使用Spring Boot,Kotlin,Elasticsearch,JUnit5和测试容器

    与Spring Boot,Elasticsearch,Testcontainers和JUnit5的集成测试 一个简单的示例,演示测试容器,Elasticsearch和JUnit 5如何一起玩。 二手技术 Spring Boot 2.4.3 Kotlin1.4.31 带有Elasticsearch 7.10.1 ...

    spring-spock-integration-testing:如何将Spock模拟注入到Spring集成测试中

    如何将Spock模拟注入到Spring集成测试中该项目旨在用作示例指南,以说明如何将Spock与Spring(和Spring Boot)结合使用,并结合使用Spring配置和Spock模拟。 有时,您想使用整个Spring上下文进行更完整的集成测试。 ...

    spring和mybatis结合的maven工程

    spring和mybatis的完美结合 具体的pom.xml如下 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"&gt; &lt;modelVersion&gt;4.0.0 &lt;groupId&gt;...

    Spring高级之注解驱动开发视频教程

    让我们在开发中以及开发后期进行测试时,直接使用Junit结合spring一起测试。 本套课程中,我们将全面剖析Spring和SpringMVC两个部分。从应用场景分析,到基本用法的入门案例,再到高级特性的分析及使用,最后是执行...

    junit-insights:JUnit的扩展,它为上下文,类和方法的运行时提供见解

    JUnit Insights是JUnit 5的扩展(可以选择与Spring框架结合使用), 测量每个测试类中每个测试方法的设置,执行和拆卸时间 (可选)度量创建Spring上下文的频率以及该过程需要多长时间 创建一个外观漂亮的报告,以...

    Spring中文帮助文档

    9.5.9. 结合AspectJ使用 @Transactional 9.6. 编程式事务管理 9.6.1. 使用TransactionTemplate 9.6.2. 使用PlatformTransactionManager 9.7. 选择编程式事务管理还是声明式事务管理 9.8. 与特定应用服务器集成 ...

    Spring API

    9.5.9. 结合AspectJ使用 @Transactional 9.6. 编程式事务管理 9.6.1. 使用TransactionTemplate 9.6.2. 使用PlatformTransactionManager 9.7. 选择编程式事务管理还是声明式事务管理 9.8. 与特定应用服务器集成 ...

    Struts2+Spring3+MyBatis3完整实例

    网上的东西好大多都不能直接用,自己结合网上资料做了一个Struts2+Spring3+MyBatis3的测试工程,JUnit测试用例和WEB服务。 内涵完整jar包,解压直接可用,包括一个表文件。 Eclipse3.2+Tomcat/5.5+jdk1.5.0_17 - ...

    Spring AOP配置源码

    此单元测试基于spring的AbstractJUnit4SpringContextTests,你需要添加spring的关于单元测试的支持 在类上标注@ContextConfiguration(locations="classpath:applicationContext.xml")意思是去classpath路径下加载...

    J2EE架构设计PPT

    第一部份:介绍实例架构 结合实例讲解Web项目总体结构 分析多层结构优点 具体讲解每个层次的实现技巧 第二部分:介绍组织层次关联利器(Spring...第六部分:介绍软件测试与部署 借助Junit的单元测试 借助Ant的自动部署

    JavaEE求职简历-姓名-JAVA开发工程师.doc

    熟练使用JUnit结合DBUnit、EasyMock等测试工具,并了解Hamcrest、Suite、Stub等测试原理; 熟悉Linux常用命令; 熟练使用Git、SVN代码管理工具; 熟练使用Dubbo、ZooKeeper搭建分布式项目; 了解shiro进行权限认证与...

    spring-boot-integration-test:演示项目,讨论具有安全性的 spring-boot 应用程序配置

    创建此示例项目是为了结合 spring-security 讨论正确的 spring-boot 应用程序配置。 当前状态 应用程序的安全配置和集成测试的安全配置。 感谢 Stack Overflow 的 Kris,该应用程序现在按预期工作。 解决方案 如 ...

    SpringBoot Jpa Demo

    SpringBoot Jpa 结合Spring事物Aop,单元测试Junit,Restful Api风格的 小样例,自定义Exception捕获异常等

    javawebtest

    就以前做的一个项目为例, 这个项目是以Struts+Spring+iBatis为框架扩展起来的一个Java Web项目,最初只是用JUnit对业务层的Business Class进行测试,后来逐步扩展到演示层和持久层.并结合了CruiseControl 进行持续集成...

    SpringMVC-SpringSecurity-MySql-Hibernate

    将Spring Form Elements与JSP页面和MVC概念结合使用的最佳实践。 具有服务层和控制器对象的Spring MVC模式。 在带有Hibernate的MySql上进行CRUD操作以及对jdbc查询的注释示例 将Dispatcher Servlet与web.xml一起...

Global site tag (gtag.js) - Google Analytics