Spring框架 (10) —— Spring的测试

本文介绍了Spring框架的测试方法,强调了传统测试存在的问题,如容器启动慢和测试效率低下。文章详细阐述了如何正确使用Spring进行测试,包括导入必要的测试jar包,利用@RunWith和@ContextConfiguration注解来启动和配置Spring容器,以及展示了纯注解方式的配置示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

传统的测试

存在问题:
1,每个测试都要重新启动Spring容器,启动容器的开销大,测试效率低下。
2,不应该是测试代码管理Spring容器,应该是Spring容器在管理测试代码。

在这里插入图片描述

正确使用Spring的测试

在这里插入图片描述

如何使用Spring测试

导入spring测试的jar包

在这里插入图片描述 [ 未找到 ]  [ Loading... ]
Spring测试必须保证Eclipse的单元测试的最低版本是 4.12版本,如果使用的Eclipse版本很低,那么单元测试版本可能低于4.12,那么需要开发者手动导入单元测试的jar包

如果使用Spring方式测试,必须使用两个注解

@RunWith注解
表示先启动Spring容器,把junit运行在Spring容器中
@ContextConfiguration注解
从哪里加载资源文件,默认从src(源目录)下面加载

案例代码

package cn.xc.spring.test;

import static org.junit.Assert.*;

import javax.annotation.Resource;
import javax.swing.Spring;

import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;

import cn.xc.spring.config.SpringConfig;
import cn.xc.spring.service.CustomerService;

//表示先启动Spring容器,把junit运行在Spring容器中
@RunWith(SpringJUnit4ClassRunner.class)
//表示从哪里加载资源文件,默认从src(源目录)下面加载
@ContextConfiguration("classpath:applicationContext.xml")
public class CustomerServiceTest {
	
	@Resource
	ApplicationContext context;
	
	@Test
	public void testSpring() throws Exception {
		//1.获取Spring容器对象
		//AnnotationConfigApplicationContext context=new AnnotationConfigApplicationContext(“applicationContext.xml”);
		
		
		//2.获取CustomerController对象
		CustomerService controller = context.getBean("customerService",CustomerService.class);
		
		//执行保存方法
		controller.save();
	}
}

纯注解方式的配置

@ContextConfiguration()
classes 属性: 读取spring的纯java配置文件

package cn.xc.spring.test;

import static org.junit.Assert.*;

import javax.annotation.Resource;
import javax.swing.Spring;

import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;

import cn.xc.spring.config.SpringConfig;
import cn.xc.spring.service.CustomerService;

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes=Spring.class)
public class CustomerServiceTest {
	
	@Resource
	ApplicationContext context;
	
	@Test
	public void testSpring() throws Exception {
		//1.获取Spring容器对象
			//AnnotationConfigApplicationContext context=new AnnotationConfigApplicationContext(SpringConfig.class);
		
		
		//2.获取CustomerController对象
		CustomerService controller = context.getBean("customerService",CustomerService.class);
		
		//执行保存方法
		controller.save();
	}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值