Spring之使用Junit进行测试

生活中,最使人疲惫的往往不是道路的遥远,而是心中的郁闷;最使人痛苦的往往不是生活的不幸,而是希望的破灭;最使人颓废的往往不是前途的坎坷,而是自信的丧失;最使人绝望的往往不是挫折的打击,而是心灵的死亡。所以我们要有自己的梦想,让梦想的星光指引着我们走出落漠,走出惆怅,带着我们走进自己的理想。

导读:本篇文章讲解 Spring之使用Junit进行测试,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

一、Spring与Junit为什么要进行整合?

程序的入口是main方法,在junit中没有main方法,程序能执行靠的是@Test注解,Junit与Spring是完全不同的两个东西,要在Junit中使用Spring的东西就需要让Spring与Junit进行整合。

二、添加依赖

        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-test</artifactId>
            <version>5.2.8.RELEASE</version>
        </dependency>
        
		<dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.13</version>
        </dependency>

三、使用@RunWith

使用@RunWith替换原有运行器,替换成spring提供的,即让测试运行于Spring测试环境

@RunWith(SpringJUnit4ClassRunner.class)
public class UserServiceTest {
}

四、使用@ContextConfiguration

使用@ContextConfiguration指定 spring 配置文件的位置,即使用注解引入多个配置文件

@ContextConfiguration 

	locations 属性:用于指定配置文件的位置。
	               如果是类路径下,需要用 classpath:表明
	               
	classes 属性:用于指定注解的类。
				 当不使用 xml 配置时,需要用此属性指定注解类的位置。
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations= {"classpath:bean.xml"})
//@ContextConfiguration(classes = SpringConfiguration.class)
public class UserServiceTest {

}

五、使用@Autowired

使用@Autowired 给测试类中的变量注入相应对象

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations= {"classpath:bean.xml"})
//@ContextConfiguration(classes = SpringConfiguration.class)
public class UserServiceTest {

    @Autowired
    private UserService userService;
    
     @Test
    public void testFindAll() {
        List<User> users = userService.FindAll();
         for(User user : users){
            System.out.println(user);
        }
    }
}

六、执行测试验证

在这里插入图片描述

七、通用测试环境封装

定义通用测试父类

定义一个父类,设置通用的配置信息,构成一个通用的测试环境,需要使用环境的直接继承类即可

@RunWith(SpringJUnit4ClassRunner.class) // 将junit测试加到spring环境中
@ContextConfiguration(locations = {"classpath:spring.xml"}) // 设置要加载的资源文件
public class BaseTest {

}

继承通用的测试类

public class SpringJdbcTest04 extends BaseTest {

	@Resource
	private JdbcTemplate jdbcTemplate;
	
	@Test
	public void testQueryCount() {
		// 定义sql语句
		String sql = "select count(1) from tb_user";
		// 执行查询操作
		Integer total= jdbcTemplate.queryForObject(sql, Integer.class);
		System.out.println("总记录数:" + total);
	}
}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/137136.html

(0)
飞熊的头像飞熊bm

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!