zoukankan      html  css  js  c++  java
  • 4. SpringBoot —— 单元测试

    首先在pom文件中引入spring-boot-starter-test

    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-test</artifactId>
    </dependency>

    测试方式1:

    这也是官方推荐的方式,缺点是在真正的多项目开发时,有的项目没有启动类,为了这种方式的测试,还需在 src/test 下构建一个测试启动类

    @RunWith(SpringRunner.class)
    @SpringBootTest(classes=App.class)
    public class RedisUtilTest {
        
        @Autowired
        private RedisUtil redisUtil ;
        
        
        
        @Test
        public void testAddOrUpdate() {
            redisUtil.addOrUpdate("test","ddd");
        }    
    
    }

    测试方式2 (人个总结出的方法):

    使用 SpringApplicationBuilder 类构建 ApplicationContext实例,但是这种方式需要明确知道相应的@Configuration配置类

    1. 定义项目的Configuration类,相当于指定了配置文件

    @Configuration
    @ConditionalOnMissingBean(RedisUtil.class)
    public class EcshopCommonUtilsConfig {
        
        @Bean
        public RedisUtil redisUtil() {
            return new RedisUtil() ;
        }
    
    }

    2.通过SpringApplicationBuilder构建context容器

    public class RedisUtilTest {
        
        @Autowired
        private RedisUtil redisUtil ;
        
        @Before
        public void init() {
             
             Class<?>[] sources = {XxxxConfig.class,RedisAutoConfiguration.class} ;
             String[] properties = {"spring.redis.host=127.0.0.1","spring.redis.port=6379","spring.redis.database=0","spring.redis.password=xxx"} ;
             
             SpringApplicationBuilder builder = new SpringApplicationBuilder().properties(properties)
                                                                         .web(WebApplicationType.NONE) ; 
             builder.sources(sources) ;
             ConfigurableApplicationContext context = builder.run() ;
             this.redisUtil = context.getBean(RedisUtil.class) ;
        }
        
        
        @Test
        public void testAddOrUpdate() {
            redisUtil.addOrUpdate("test","ddd");
        }
        
    }
  • 相关阅读:
    6.基础控件
    5.对话框组合
    4.对话框程序
    3. MFC原理介绍
    三星曲面显示器
    笔记本光驱接口怎么外接台式机硬盘?
    笔记本usb外接3.5寸sata台式机硬盘, 用mhdd检测不到,怎么处理?
    MHDD检测不到硬盘的解决办法
    MHDD检测电脑硬盘坏道
    一个指向指针函数的函数指针
  • 原文地址:https://www.cnblogs.com/hzhuxin/p/10519409.html
Copyright © 2011-2022 走看看