SpringBoot测试配置属性与启动web环境

这篇具有很好参考价值的文章主要介绍了SpringBoot测试配置属性与启动web环境。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

 加载测试专用的属性

运行结果

使用外部bean对测试

运行结果

测速类启动web环境

我们在测试类中 

运行结果 


 加载测试专用的属性

点开@SpringBootTest源码中查看

SpringBoot测试配置属性与启动web环境

可以在之后加入临时配置, 也可以使用命令行args参数设置。 设置的测试专用参数会覆盖配置文件中的。

package com;

import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.test.context.SpringBootTest;

@SpringBootTest(args = {properties = {"test.properties=1234"})

public class TestProperties {
    @Value("${test.properties}")
    private String ps;
    @Test
    public void test(){
        System.out.println(ps);
    }
}

运行结果

SpringBoot测试配置属性与启动web环境

也可以使用命令行参数

args = {"--test.properties=4321"},

命令行参数的优先级比配置文件的高,所以当两者共存的时候,以命令行的为主

@SpringBootTest(args = {"--test.properties=4321"},properties = {"test.properties=1234"})

SpringBoot测试配置属性与启动web环境

 这个测试类设置的属性只对当前测试有效,影响小

使用外部bean对测试

package com.config;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration//说明当前为配置类
public class TestBean {
    @Bean//创建bean
    public String mess(){
        return "this bean run ";
    }
}

在测试类下,使用@Import注解加载当前测试配置 

package com.test;

import com.config.TestBean;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.context.annotation.Import;

@SpringBootTest
@Import({TestBean.class})
public class TestBeanNow {
    @Autowired//注入bean对象
    public String mess;

    @Test
    public void test(){
        System.out.println(mess);
    }

}

运行结果

SpringBoot测试配置属性与启动web环境

测速类启动web环境

在测试类中运行一般是不会启动服务器的,如下图。都是显示运行成功或失败的信息

SpringBoot测试配置属性与启动web环境

 我们Ctrl+b点进@SpringBootTest源码中查看,有一个关于web的

SpringBoot测试配置属性与启动web环境

 默认值是MOCK,mock:默认提供一个模拟的web环境,不会启动内嵌的服务器

我们在测试类中 

 SpringBoot测试配置属性与启动web环境

 第一个是以你配置文件指定的端口启动,如果没有就默认以8080启动

第二个mock:默认提供一个模拟的web环境,不会启动内嵌的服务器

第三个是不启动服务器

第四个是随机端口启动

我们测试随机端口启动

package com;

import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;

@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
public class WebTest {
    @Test
    public void test(){


    }
}

运行结果 

运行了两次看端口结果,都是随机的 

SpringBoot测试配置属性与启动web环境文章来源地址https://www.toymoban.com/news/detail-426021.html

到了这里,关于SpringBoot测试配置属性与启动web环境的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 17、YML配置文件及让springboot启动时加载我们自定义的yml配置文件的几种方式

    其实本质和.properties文件的是一样的。 Spring Boot默认使用SnakeYml工具来处理YAML配置文件,SnakeYml工具默认就会被spring-boot-starter导入,因此无需开发者做任何额外配置。 YAML本质是JSON的超级,它在表示结构化文档时更有表现力。 ▲ properties文件使用 .分隔符 作为结构化的表现:

    2024年02月14日
    浏览(47)
  • springBoot 启动指定配置文件环境多种方案

    springBoot 启动指定配置文件环境理论上是有多种方案的,一般都是结合我们的实际业务选择不同的方案,比如,有pom.xml文件指定、maven命令行指定、配置文件指定、启动jar包时指定等方案,今天我们一一分享一下,以供参考: 1、pom文件配置方案 对应的配置文件举例: 也可以

    2024年02月11日
    浏览(51)
  • IDEA下SpringBoot指定环境、配置文件启动

    Springboot项目有如下配置文件 主配置文件application.yml, 测试环境:application-test.yml 生产环境:application-pro.yml 开发环境:application-dev.yml 需要确保项目已经打成jar包: springboot-demo.jar,指定项目内其它配置文件application-dev.yml启动项目 1.3.Linux服务器上启动基于(三)的springboot项目

    2024年02月11日
    浏览(49)
  • win环境后台启动、关闭springBoot的jar包配置

    win环境后台启动、关闭springBoot的jar包配置是我们技术人员必备的技能,目前很多业务都要求部署到win环境,而且需要设置后台启动,一般通过bat格式的文件设置,今天我们详细分享一下: 首先如果简单的命令:java -jar demo.jar 启动是最简单的前台启动,并且一旦关闭窗口,服

    2024年02月16日
    浏览(32)
  • springboot--多环境配置快速切换开发、测试、生产环境

    环境隔离能力,快速切换开发、测试、生产环境 步骤: 1、标识环境:指定那些组件、配置在那个生效 2、切换环境:这个环境对应的所有组件和配置就应该生效 区分出几个环境:dev(开发环境)、test(测试i环境)、prod(生产环境)、default(默认环境) 指定每个组件在那个环境

    2024年02月06日
    浏览(72)
  • Web自动化测试—webdriver的环境配置

     🔥 交流讨论: 欢迎加入我们一起学习! 🔥 资源分享 : 耗时200+小时精选的「软件测试」资料包 🔥  教程推荐: 火遍全网的《软件测试》教程   📢 欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正! 环境: win10 + 想要Python通过selenium操作浏览器搞些事情,就必须有两个

    2024年04月26日
    浏览(22)
  • spring boot启动环境的配置与更改(dev,local,pro)包含单元测试环境

    properties 该文件是一种 key-value 的格式,配置文件的特点是,它的Key-Value一般都是String-String类型的,因此我们完全可以用 MapString, String 来表示它。 用Properties读取配置文件非常简单。Java默认配置文件以 .properties 为扩展名,每行以key=value表示,以 # 课开头的是注释。 yaml YAML是

    2024年02月02日
    浏览(38)
  • springboot启动加载数据库数据到内存

    一般来说,springboot工程环境配置放在properties文件中,启动的时候将工程中的properties/yaml文件的配置项加载到内存中。但这种方式改配置项的时候,需要重新编译部署,考虑到这种因素,今天介绍将配置项存到数据库表中,在工程启动时把配置项加载到内存中。 springboot提供了

    2024年01月17日
    浏览(45)
  • 说说如何在SpringBoot中启动加载全局变量

    需要加载全局变量的情况很常见,如取通用的系统初始化配置等 Spring Boot 可以通过实现 CommandLineRunner 或 ApplicationRunner 接口,让某些代码在 Spring Boot 应用启动之后执行。因此,在启动时从数据库加载全局变量,可以在这些接口的 run() 方法中实现 在这个类中,全局变量被定义

    2024年02月16日
    浏览(27)
  • SpringBoot启动调用类方法 【实现数据加载等操作】

          有时候我们写SpringBoot项目时我们会在,启动后加载一些数据到内存中,或者把数据存储到Redis中,本质上我们的需求大致就是运行后调用某个类中非静态的方法.     通过 @PostConstruct 注解来完成方法调用,但是它的执行顺序是注入依赖时完成方法的执行,那么SpringBoot还没

    2024年02月03日
    浏览(29)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包