SpringBoot测试配置属性与web启动环境超详细图解

目录
  • 加载测试专用的属性
    • 运行结果
    • 使用外部bean对测试
    • 运行结果
  • 测速类启动web环境
    • 我们在测试类中
    • 运行结果

加载测试专用的属性

点开@SpringBootTest源码中查看

可以在之后加入临时配置, 也可以使用命令行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);
    }
}

运行结果

也可以使用命令行参数

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

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

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

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

使用外部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);
    }
}

运行结果

测速类启动web环境

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

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

默认值是MOCK,mock:默认提供一个模拟的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启动环境超详细图解的文章就介绍到这了,更多相关SpringBoot测试配置属性内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Springboot单元测试无法读取配置文件的解决方案

    目录 单元测试无法读取配置文件 深渊巨坑 单元测试加载配置文件启动异常 最初以为是配置文件路径写错了 最后确认是因为xml配置问题 单元测试无法读取配置文件 首先,测试类要加注解 表示该类是一个测试类,默认会加载resource文件夹下的配置文件. 如果想要指定配置文件: @TestPropertySource("classpath:pay.properties") 深渊巨坑 spring boot 2,在进行单元测试的时候,不支持.yml文件!!!至文章日期,还未解决. 用yml文件

  • springboot配置开发和测试环境并添加启动路径方式

    目录 springboot配置开发和测试环境并添加启动路径 SpringBoot配置文件(多环境配置dev.test.prod.启动器类的位置) 多环境配置 启动器类的位置 springboot配置开发和测试环境并添加启动路径 嗯,开发和测试环境要分离,这是一般共识(虽然我工作过的公司都没有这种分离),spring boot也可以按照配置文件的读取来做到这一点. 上图有三个application开头的配置文件,要达到能够读取外部配置文件的目的,我们需要引入一个依赖包,就是红色箭头所指的那个,把这

  • SpringBoot生产环境和测试环境配置分离的教程详解

    第一步:项目中资源配置文件夹(resources文件夹)下先新增测试环境application-dev.yml和application-prod.yml两个配置文件,分别代表测试环境配置和生产环境配置 第二步:在application.yml配置文件中设置如下配置(PS:active后定义的名字要和配置文件-后的名字一致,如下则系统执行application-dev.yml) spring: profiles: active: dev 第三步:启动项目 启动方式一:idea中 springboo

  • SpringBoot+redis配置及测试的方法

    1.创建项目时选择redis依赖 2.修改配置文件,使用SpringBoot就避免了之前很多的xml文件 2.1学过redis的同学都知道这个东西有集群版也有单机版,无论哪个版本配置起来都很简单 2.1.1首先找到配置文件 2.1.2然后配置集群版,直接在配置文件内编辑即可 2.1.3配置单机版 3.测试 找到测试文件夹,自动注入redis模板 4.分别测试操作String和Hash类型的数据 4.1操作String @Test public void testString(){ //操作Str

  • Springboot 使用具体化类和配置来缩短单元测试时间

    目录 具体化类和配置来缩短单元测试时间 SpringBoot 简单的单元测试 一.为什么写单元测试 二.简单的spring boot单元测试的实现 三.编写单元测试 具体化类和配置来缩短单元测试时间 我们在写完业务代码之后,都需要编写测试用例来验证代码逻辑是否正确,这样不仅方便自己后期检查,也方便后面接手的人快速测试我们的代码. 编写测试用例时,我们可以通过如下快捷键:ctrl+shift+T,然后会出现如下提示: 点击,Create New Test.... 通常,只是帮助我们生成一个包下对应

  • RabbitMQ开启SSL与SpringBoot连接测试的配置方法

    目录 楔子 配置 RabbitMQ 开启 SSL 使用 OpenSSL CLI 工具验证证书是否有效 编写 SpringBoot 代码连接测试 参考 楔子 近期公司程序被安全扫描出 远程主机允许明文身份验证 中风险漏洞,查了下修复方案,RabbitMQ官方提供了SSL连接方式,而且 SpringBoot AMQP 也支持 SSL 连接.以下将配置RabbitMQ开启SSL 并使用 SpringBoot Demo 测试连接. PS : 写文章时此配置还未安全扫描复测,如果测试通过,本人将更新此文章

  • Springboot Cucumber测试配置介绍详解

    目前Spring-boot成为了java开发的主流框架,Cucumber作为一款支持dsl的自动化测试工具,很适合用户编写DSL优化过的单元测试等测试用例.本文将讲解如何在SpringBoot中配置Cucumber进行自动化测试. 目录结构如下: gradle相关配置如下所示: testCompile('org.springframework.boot:spring-boot-starter-test', "info.cukes:cucumber-jvm:1.1.8", "i

  • SpringBoot测试配置属性与web启动环境超详细图解

    目录 加载测试专用的属性 运行结果 使用外部bean对测试 运行结果 测速类启动web环境 我们在测试类中 运行结果 加载测试专用的属性 点开@SpringBootTest源码中查看 可以在之后加入临时配置, 也可以使用命令行args参数设置.设置的测试专用参数会覆盖配置文件中的. package com; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Value; i

  • 教你1秒将本地SpringBoot项目jar包部署到Linux环境(超详细!)

    目录 目标 迭代步骤 一.前提: 1.使用Maven的package命令打出一个携带依赖的jar包 2.Window启动jar包 二.linux环境启动jar包 1.先将jar包扔到linux环境 2.测试是否可以启动(需要有Java环境) 3.优化启动脚本,改为后台启动,并将日志输出到springboot.log 4.完善脚本,启动时,如果存在已经启动的服务,先关闭,再启动 三.分离依赖部署 1.上传依赖jar包Linux服务器 2.改造项目的pom.xml文件 3.重新package 4.上

  • sublime text3搭建配置c语言编译环境的详细图解教程(小白级)

    目录 使用sublime text3编译c语言部分 准备工作 配置环境变量 新建sublime text3的c语言编译环境 举例 软件下载可以在官网下载,均为免费软件 有问题可以联系我邮箱求助:sexluna@outlook.com sublime text3虽然收费但是支持无限期试用且功能不受限制(免费软件) 使用sublime text3编译c语言部分 准备工作 下载sublime text3 配置计算机c语言编译环境,下载MinGW即可 配置MinGW的系统变量 将下载解压的MinGW的b

  • SpringBoot嵌入式Servlet容器与定制化组件超详细讲解

    目录 嵌入式Servlet容器 1.原理分析 2.Servlet容器切换 3.定制Servlet容器配置 定制化组件 嵌入式Servlet容器 在Spring Boot中,默认支持的web容器有 Tomcat, Jetty, 和 Undertow 1.原理分析 那么这些web容器是怎么注入的呢?我们一起来分析一下 当SpringBoot应用启动发现当前是Web应用,它会创建一个web版的ioc容器ServletWebServerApplicationContext 这个类下面有一个createW

  • jar包的各种启动方式超详细总结

    目录 一.各种启动方式 1.java -jar 2.java -jar test.jar & 3.nohup java -jar test.jar 4.nohup java -jar test.jar & 5.nohup java -jar test.jar > ./info.log & 6. nohup java -jar test.jar >> ./info.log & 7. nohup java -jar test.jar >> /dev

  • Windows下PyCharm配置Anaconda环境(超详细教程)

    首先来明确一下Python.PyCharm和Anaconda的关系 1.Python是一种解释型.面向对象.动态数据类型的高级程序设计语言. 虽然Python3.5自带了一个解释器IDLE用来执行.py脚本,但是却不利于我们书写调试大量的代码.常见的是用Notepade++写完脚本,再用idle来执行,但却不便于调试.这时候就出现了PyCharm等IDE,来帮助我们调试开发. 2.PyCharm是一种Python IDE,带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具,比如调

  • Windows10配置VSCode C++环境(超详细,面向小白以及大佬们)

    我看了网上的大佬们配的我是在是看不懂啊?我是一个小白啊?这太难了,这阻挡不了我,想使用这很骚的IDE,于是在不断的摸索下,终于配置成功,小白们也不用慌,这次非常简单.一定可以的. 1.下载 VS Code 下载网址:https://code.visualstudio.com/ 2.运行安装程序 一定不要忘记把Path那一条点上. 3.装MinGW 当时我下了半天找不到,这次我放个地址,github放不下这么大的文件,传文件夹的话还得ssh啥的,还不会,将就一下https://www.jb51.n

  • .NET 6 从0到1使用Docker部署至Linux环境超详细教程

    目录 前言 环境准备 .NET Core项目准备 1.首先我们先创建一个空的ASP.NET Core Web应用 2.我们可以先在本地将项目构建成镜像看看效果 3.接下来我们将镜像run起来,构造出一个容器: Linux环境配置: 1.配置yum 更新yum包 安装yum-utils 用来管理yum源 查看资源库中有没有安装过的docker rpm包 2.安装docker 3.启动docker 4.安装.NetCore SDK 6.0 安装包配置 执行安装 验证安装环境 调整Dockerfile

  • Windows xp光盘启动安装过程详细图解

    一.准备工作: 1.准备好Windows XP Professional 简体中文版安装光盘,并检查光驱是否支持自启动.    2.可能的情况下,在运行安装程序前用磁盘扫描程序扫描所有硬盘检查硬盘错误并进行修复,否则安装程序运行时如检查到有硬盘错误即会很麻烦.    3.用纸张记录安装文件的产品密匙(安装序列号).    4.可能的情况下,用驱动程序备份工具(如:驱动精灵 2004 V1.9 Beta.exe)将原Windows XP下的所有驱动程序备份到硬盘上(如∶F:\Drive).最好能记

  • 共创桌面Linux 2005光盘启动安装过程详细图解

    北京共创开源软件有限公司在2004年10月25日发布Co-CreateLinux2005版操作系统,这一版本是今年6月发布的Co-CreateLinux1.0.3的后继版本,是一个全新的版本.    共创桌面Linux 2005(ISO镜像文件)下载地址:    ftp://ftp.opendesktop.net/co-create/desktop/2005/Baby2-i386-disc.iso 一.共创桌面Linux 2005安装    将光驱设为第一启动盘,放入"共创桌面Linux 200

随机推荐