如何使用Spring-Test对Spring框架进行单元测试

目录
  • Spring-Test对Spring框架进行单元测试
    • 加载依赖
    • 编写SpringTestBase基础类,加载所需xml文件
    • 编写单元测试类 示例
  • Spring-Test测试数据
    • 1、新建一个maven项目
    • 2、pom.xml当中添加依赖
    • 3、测试方法

Spring-Test对Spring框架进行单元测试

配置过程:

加载依赖

引入Maven依赖:

        <!--spring单元测试依赖 -->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-test</artifactId>
            <version>${springframework}</version>
            <scope>test</scope>
        </dependency>

编写SpringTestBase基础类,加载所需xml文件

import org.junit.runner.RunWith;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.AbstractJUnit4SpringContextTests;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
@ContextConfiguration(locations = { "classpath:Application-Redis.xml" })
@RunWith(SpringJUnit4ClassRunner.class)
public class SpringTestBase extends AbstractJUnit4SpringContextTests {
}

将所需加载的xml文件指定为locations的value。

编写单元测试类 示例

直接继承SpringTestBase 就可以对Spring框架的内容进行单元测试。

import org.junit.Assert;
import org.junit.Test;
import org.springframework.beans.factory.annotation.Autowired;
public class TestRedisCacheDaoImpl extends SpringTestBase {
    @Autowired
    public RedisCacheDaoImpl redisCacheDaoImpl;
    @Test
    public void testPing() {
        boolean reslut = redisCacheDaoImpl.ping();
        Assert.assertEquals(true, reslut);
    }
}

Spring-Test测试数据

1、新建一个maven项目

2、pom.xml当中添加依赖

  <dependencies>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
            <version>5.2.5.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-test</artifactId>
            <version>5.2.5.RELEASE</version>
        </dependency>   

        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
            <scope>test</scope>
        </dependency>
    </dependencies>

spring-test是Spring当中的测试包,而junit是单元测试包,结合起来使用。

添加一个bean,便于测试。

HelloService.java

@Service
public class HelloService {
    public String hello(String name) {
        return "hello " + name;
    }
}

添加配置文件扫描包:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context https://www.springframework.org/schema/context/spring-context.xsd">
    <!--将除了 Controller 之外的所有 Bean 注册到 Spring 容器中-->
    <context:component-scan base-package="org.youyuan" use-default-filters="true">
        <context:exclude-filter type="annotation" expression="org.youyuan.controller"/>
    </context:component-scan>
</beans>

3、测试方法

@ContextConfiguration("classpath:applicationContext.xml")
@RunWith(SpringJUnit4ClassRunner.class)
public class Test {
    @Autowired
    HelloService helloService;
    @org.junit.Test
    public void test(){
        System.out.println(helloService.hello("youyuan"));
    }
}

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • spring项目实现单元测试过程解析

    后台开发过程中,写单元测试是非常重要的,对于我们开发人员调试.排查问题是很方便的, 但是我们在启动项目的时候,需要将所以类交给spring托管,在单元测试中需要怎么实现类的注入呢? 直接上图 继续上代码 import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.test.context.ContextConfiguration; import org.springframework.tes

  • SpringBoot+TestNG单元测试的实现

    目录 背景 接口测试用例,针对入参进行设计: 言归正传! 背景 由于开发任务进度紧张,接口及基础数据提供不全,即使设计全面的接口测试用例也无法全面有效的进行覆盖测试:且又因为单接口测试用例设计的方向是入参和出参,从入参着手就是参数必填校验.参数类型及参数边界值,再有入参的组合入参,例如一个接口5个参数,3个必填,2个非必填,数据类型有string.int等,还有字符长度限制条件,那么这样的单接口测试用例数设计起来那就有,嗯......数不过来,如果入参个数及参数类型变得多起来,那么这个数量就不可

  • SpringBoot使用@SpringBootTest注解开发单元测试教程

    概述 @SpringBootTest注解是SpringBoot自1.4.0版本开始引入的一个用于测试的注解.基本用法如下: 1.添加依赖: <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.

  • SpringMVC框架整合Junit进行单元测试(案例详解)

    本文主要介绍在SpringMVC框架整合Junit框架进行单元测试.闲话少述,让我们直入主题. 系统环境 软件 版本 spring-webmvc 4.3.6.RELEASE spring-test 4.3.6.RELEASE junit 4.12 引入依赖 <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</ver

  • 详解spring cloud如何使用spring-test进行单元测试

    上篇和大家学习了spring cloud 如何整合reids,在测试时借用了web形式的restful接口进行的.那还有没有别的方式可以对spring boot和spring cloud编写的代码进行单元测试呢?答案:肯定是有的.这篇讲解一下如何使用 spring-boot-starter-test进行单元测试 1.新建项目sc-test,对应的pom.xml文件如下 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns

  • 使用@SpringBootTest注解进行单元测试

    概述 @SpringBootTest注解是SpringBoot自1.4.0版本开始引入的一个用于测试的注解.基本用法如下: 1. 添加Maven依赖 <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> <parent> <groupId>org.springframework.boot</gro

  • struts+spring+hibernate三个框架的整合

    准备三个框架结合的lib包 Spring3结合Struts2的步骤如下: 1:开启Struts2结合Spring3,在struts.xml中添加如下语句: java代码: <constant name="struts.objectFactory" value="spring"/> 2:在web.xml中添加listener,如下: java代码: <listener> <listener-class> org.springfram

  • Spring mvc整合tiles框架的简单入门教程(maven)

    前言 本教程基于Springmvc,Spring MVC是当前最优秀的MVC框架,自从Spring 2.5版本发布后,由于支持注解配置,易用性有了大幅度的提高.Spring 3.0更加完善,实现了对Struts 2的超越.现在越来越多的开发团队选择了Spring MVC. Tiles 框架彻底揭示了 jsp:includes 内部的概念 ―― 从而允许您更灵活地创建可重用的页面.使用 Tiles 框架,开发人员能够通过组合可重用的 tile 来构建页面.您应该将 tile 看作是可视组件. 下面

  • spring mvc 组合mybatis框架实例详解

    说明 本项目采用 maven 结构,主要演示了 spring mvc + mybatis,controller 获取数据后以json 格式返回数据. 项目结构 包依赖 与说明 pom文件: <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://

  • Spring的异常重试框架Spring Retry简单配置操作

    相关api见:点击进入 /* * Copyright 2014 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 * *

  • Spring 使用Validation 验证框架的问题详解

    一.介绍 Spring Validation 验证框架对参数的验证机制提供了@Validated (Spring's JSR-303 规范,是标准 JSR-303 的一个变种),javax 提供了@Valid(标准 JSR-303 规范),配合 BindingResult 可以直接提供参数验证结果.其中对于字段的特定验证注解,比如 @NotNull. 两者在检验 Controller 的入参是否符合规范时,使用@Validated 或者 @Valid 在基本验证功能上没有太多区别.但是在分组.注

  • Spring Batch轻量级批处理框架实战

    目录 1 实战前的理论基础 1.1 Spring Batch是什么 1.2 Spring Batch能做什么 1.3 基础架构 1.4 核心概念和抽象 2 各个组件介绍 2.1 Job 2.2 Step 2.3 ExecutionContext 2.4 JobRepository 2.5 JobLauncher 2.6 Item Reader 2.7 Item Writer 2.8 Item Processor 3 Spring Batch实战 3.1 依赖和项目结构以及配置文件 3.2 代码和

  • 如何使用Spring-Test对Spring框架进行单元测试

    目录 Spring-Test对Spring框架进行单元测试 加载依赖 编写SpringTestBase基础类,加载所需xml文件 编写单元测试类 示例 Spring-Test测试数据 1.新建一个maven项目 2.pom.xml当中添加依赖 3.测试方法 Spring-Test对Spring框架进行单元测试 配置过程: 加载依赖 引入Maven依赖: <!--spring单元测试依赖 --> <dependency> <groupId>org.springframew

  • 使用Spring注入Hibernate验证框架

    目录 Spring注入Hibernate验证框架 Spring配置文件 Hibernate内置的验证约束注解如下表所示 springmvc使用Hibernate的校验框架validation 一.Hibernate中的validator需要的jar包 二.配置校验器 三.校验器注册到处理器适配器中 四.在pojo中添加校验规则 五.controller测试 分组校验: 定义多个校验分组,分组中定义有些规则 在pojo中写出每一个被校验的字段属于哪一个分组 在controller里使用分组校验 S

  • spring boot Slf4j日志框架的体系结构详解

    目录 前言 一.五花八门的日志工具包 1.1. 日志框架 1.2.日志门面 1.3日志门面存在的意义 二.日志框架选型 三.日志级别 四.常见术语概念解析 总结 前言 刚刚接触到java log日志的同学可能会被各种日志框架吓到,包括各种日志框架之间的jar总是发生冲突,另很多小伙伴头疼不已.那我们本篇的内容就是将各种java 日志框架发展过程,以及他们之间的关系,以及如何选型来介绍给大家. 一.五花八门的日志工具包 1.1. 日志框架 JDK java.util.logging 包:java.

  • Spring Boot Rest常用框架注解详情简介

    目录 开始Spring Boot Rest的先决条件 在Spring Initializer创建Spring Boot项目 Spring Boot注解 @RestController @RequestMapping @RequestParam @PathVariable @RequestBody REST方法的特定注释 @GetMapping @PostMapping和@PutMapping @DeleteMapping 前言: 让我们了解一下Spring Boot Rest框架注释.它是如此简

随机推荐