Spring整合junit问题分析 @RunWith@ContextConfiguration介绍

Spring整合junit问题分析

1.应用程序的入口
	main方法
2.junit单元测试中,没有main方法也能执行
	junit集成了一个main方法
	该方法就会判断当前测试类中哪些方法有 @Test注解
	junit就让有Test注解的方法执行、
3.junit不会管我们是否采用spring框架
	在执行测试方法时,junit根本不知道我们是不是使用了spring框架
	所以也就不会为我们读取配置文件/配置类创建spring核心容器
4.由以上三点可知
	当测试方法执行时,没有ioc容器,就算写了Autowired注解,也无法实现注入

导包

这里貌似spring-context也得高点才行,我之前是5.0.几的版本就报ClassNotFoundException错

		<dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-test</artifactId>
            <version>5.2.3.RELEASE</version>
        </dependency>

Spring整合junit

使用Junit单元测试:测试配置
 Spring整合junit的配置
      1.导入spring整合junit的jar(坐标)
      2.使用Junit提供的一个注解把原有的main方法替换了,替换成spring提供的
          @Runwith
      3.告知spring的运行器,spring和ioc创建是基于xml还是注解的,并且说明位置
          @ContextConfiguration
              location:指定xml文件的位置,加上classpath关键字,表示在类路径下
              classes:指定注解类所在的位置

解决的问题就是junit中,创建不了ioc容器会导致空指针异常。解决方案就是通过在测试类上加@Runwith并指定下要加载的文件
在这里插入图片描述
如果是使用的配置文件
在这里插入图片描述
这样就可以进行单独的测试了
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_42727032/article/details/104645471
今日推荐