Java Config 下的Spring Test方式

用了三种方式:
1.纯手动取bean:
package com.wang.test;
import com.marsmother.commission.core.config.MapperConfig;
import com.marsmother.commission.core.config.PropertyConfig;
import com.marsmother.commission.core.config.ServiceConfig;
import com.marsmother.commission.core.dto.GeneralResponseData;
import com.marsmother.commission.core.service.UserService;
import com.marsmother.commission.site.config.SecurityConfig;
import org.junit.Before;
import org.junit.Test;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
/**
* Created by Wanglei on 15/10/29.
*/
public class CustomeTest {
private static AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext();
@Before
public void tearUp(){
context.register(PropertyConfig.class);
context.register(ServiceConfig.class);
context.register(SecurityConfig.class);
context.register(MapperConfig.class);
context.refresh();
}
@Test
public void testUser(){
UserService userService = context.getBean(UserService.class);
Long userId = 3L;
GeneralResponseData data = userService.addUserRelation(userId);
System.out.println(data.getMsg());
}
}
2.采用spring-test
package com.wang.test;
import com.marsmother.commission.core.config.MapperConfig;
import com.marsmother.commission.core.config.PropertyConfig;
import com.marsmother.commission.core.config.ServiceConfig;
import com.marsmother.commission.core.dto.GeneralResponseData;
import com.marsmother.commission.core.service.UserService;
import com.marsmother.commission.site.config.SecurityConfig;
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;
/**
* Created by Wanglei on 15/10/29.
*/
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes = {PropertyConfig.class, ServiceConfig.class, SecurityConfig.class, MapperConfig.class})
public class SpringTest {
@Autowired
private UserService userService;
@Test
public void testUser(){
GeneralResponseData data= userService.addUserRelation(3L);
System.out.println(data.getMsg());
}
}
3.采用Mockito
需要引入相应包:
<dependency> <groupId>org.mockito</groupId> <artifactId>mockito-all</artifactId> <version>1.9.5</version> <scope>test</scope> </dependency>
package com.wang.test;
import com.marsmother.commission.core.dto.GeneralResponseData;
import com.marsmother.commission.core.presistence.FollowNumberMapper;
import com.marsmother.commission.core.presistence.UserMapper;
import com.marsmother.commission.core.presistence.UserRelationMapper;
import com.marsmother.commission.core.service.UserService;
import org.junit.Before;
import org.junit.Test;
import org.mockito.InjectMocks;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
/**
* Created by Wanglei on 15/10/29.
*/
public class TestUserService {
@InjectMocks
private UserService userService;
@Mock
private FollowNumberMapper followNumberMapper;
@Mock
private UserMapper userMapper;
@Mock
private UserRelationMapper userRelationMapper;
@Before
public void init(){
MockitoAnnotations.initMocks(this);
}
@Test
public void testUser(){
Long userId = 3L;
GeneralResponseData result = userService.addUserRelation(userId);
System.out.println(result.getMsg());
}
}
这里@Mock的话,并不会真正的去执行数据库的操作。
还有一种用法是@Spy,暂时不了解具体使用方式,待研究。
相比之下,还是spring-test标准一些。
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
# Java
# Config下的Spring
# Test方法总结
# Test三种方式
# JavaEE开发之SpringMVC中的自定义消息转换器与文件上传
# Java事务管理学习之Spring和Hibernate详解
# Spring 4 支持的 Java 8 特性
# Java中SpringSecurity密码错误5次锁定用户的实现方法
# java web SpringMVC后端传json数据到前端页面实例代码
# 详解Spring Boot 使用Java代码创建Bean并注册到Spring中
# java Quartz定时器任务与Spring task定时的几种实现方法
# Java中spring读取配置文件的几种方法示例
# 用了
# 希望能
# 三种
# 不了解
# 谢谢大家
# 相比之下
# junit
# annotation
# AnnotationConfigApplicationContext
# context
# springframework
# UserService
# service
# GeneralResponseData
# org
# SecurityConfig
# site
# Created
# static
# private
相关文章:
零基础网站服务器架设实战:轻量应用与域名解析配置指南
定制建站是什么?如何实现个性化需求?
建站之星手机一键生成:多端自适应+小程序开发快速建站指南
已有域名如何免费搭建网站?
Python lxml的etree和ElementTree有什么区别
个人摄影网站制作流程,摄影爱好者都去什么网站?
css网站制作参考文献有哪些,易聊怎么注册?
我的世界制作壁纸网站下载,手机怎么换我的世界壁纸?
定制建站哪家更专业可靠?推荐榜单揭晓
建站之星代理费用多少?最新价格详情介绍
h5网站制作工具有哪些,h5页面制作工具有哪些?
如何选择CMS系统实现快速建站与SEO优化?
深圳网站制作平台,深圳市做网站好的公司有哪些?
企业宣传片制作网站有哪些,传媒公司怎么找企业宣传片项目?
如何在阿里云域名上完成建站全流程?
建站之星3.0如何解决常见操作问题?
实现虚拟支付需哪些建站技术支撑?
建站之星如何快速更换网站模板?
建站之星如何助力企业快速打造五合一网站?
如何通过VPS建站无需域名直接访问?
如何快速生成专业多端适配建站电话?
品牌网站制作公司有哪些,买正品品牌一般去哪个网站买?
内部网站制作流程,如何建立公司内部网站?
官网建站费用明细查询_企业建站套餐价格及收费标准指南
如何在Windows虚拟主机上快速搭建网站?
大连网站制作费用,大连新青年网站,五年四班里的视频怎样下载啊?
建站之星备案是否影响网站上线时间?
,柠檬视频怎样兑换vip?
如何在宝塔面板中创建新站点?
制作网站怎么制作,*游戏网站怎么搭建?
详解jQuery中基本的动画方法
微网站制作教程,不会写代码,不会编程,怎么样建自己的网站?
再谈Python中的字符串与字符编码(推荐)
黑客入侵网站服务器的常见手法有哪些?
深圳防火门网站制作公司,深圳中天明防火门怎么编码?
如何选择PHP开源工具快速搭建网站?
建站主机数据库如何配置才能提升网站性能?
建站org新手必看:2024最新搭建流程与模板选择技巧
如何在自有机房高效搭建专业网站?
网站制作新手教程,新手建设一个网站需要注意些什么?
制作无缝贴图网站有哪些,3dmax无缝贴图怎么调?
如何通过西部数码建站助手快速创建专业网站?
SQL查询语句优化的实用方法总结
建站上市公司网站建设方案与SEO优化服务定制指南
高防服务器租用指南:配置选择与快速部署攻略
如何快速搭建安全的FTP站点?
如何有效防御Web建站篡改攻击?
建站之星客服服务时间及联系方式如何?
c# F# 的 MailboxProcessor 和 C# 的 Actor 模型
潍坊网站制作公司有哪些,潍坊哪家招聘网站好?
*请认真填写需求信息,我们会在24小时内与您取得联系。