当前位置: 首页 > news >正文

自己搭建充值平台360优化大师官方免费下载

自己搭建充值平台,360优化大师官方免费下载,网站下一步工作怎么做,图片网站的优化所谓单元测试就是对功能最小粒度的测试,落实到JAVA中就是对单个方法的测试。 junit可以完成单个方法的测试,但是对于Spring体系下的web应用的单元测试是无能为力的。因为spring体系下的web应用都采用了MVC三层架构,依托于IOC,层级…

所谓单元测试就是对功能最小粒度的测试,落实到JAVA中就是对单个方法的测试。

junit可以完成单个方法的测试,但是对于Spring体系下的web应用的单元测试是无能为力的。因为spring体系下的web应用都采用了MVC三层架构,依托于IOC,层级之间采用了依赖注入的方式来进行调用。如果应用不启动、IOC容器不进行初始化、依赖没有被注入进IOC容器,根本就没办法正常的使用。调controller,会由于service没注入而报空指针异常,调service,会由于dao没注入而报空指针异常。

如果你想学习自动化测试,我这边给你推荐一套视频,这个视频可以说是B站播放全网第一的接口测试教程,同时在线人数到达1000人,并且还有笔记可以领取及各路大神技术交流:798478386    

【已更新】B站讲的最详细的Python接口自动化测试实战教程全集(实战最新版)_哔哩哔哩_bilibili【已更新】B站讲的最详细的Python接口自动化测试实战教程全集(实战最新版)共计200条视频,包括:1、接口自动化之为什么要做接口自动化、2、接口自动化之request全局观、3、接口自动化之接口实战等,UP主更多精彩视频,请关注UP账号。icon-default.png?t=N7T8https://www.bilibili.com/video/BV17p4y1B77x/?spm_id_from=333.337.search-card.all.click

所以我们发现想要对Spring Boot进行单元测试,前置条件就是需要启动应用,或者说准确点是需要启动IOC。但很明显我们又不可能每次都去直接启动应用来进行测试,一些架构糟糕、很重的老应用启动,动不动就是几分钟甚至十几分钟。我们不可能每次写一点新的代码,想要测试就去重启一下,这样效率太低了。

为此spring boot test为我们提供了@SpringBootTest来对SpringBoot应用进行快捷的单元测试。

基本使用

一般单元测试类我们都放在test路径下,一个@Test就是一个case(用例):

在从 Spring Boot 1.4.0 版本以前@SpringBootTest需要和@RunWith配合来使用

@RunWith(SpringRunner.class)用来指定启动类是哪个?@SpringBootTest用来加载应用上下文

依赖:

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

代码示例:

import org.junit.runner.RunWith;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;@RunWith(SpringRunner.class)
@SpringBootTest
public class MyApplicationTests {// 测试内容}

在从 Spring Boot 1.4.0 版本开始就不用加上@RunWith了,直接使用@SpringBootTest就可以了。

代码示例:

import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.boot.test.context.SpringBootTest.WebEnvironment;
import com.example.MyApplication; // 替换成实际的主启动类所在的包@SpringBootTest(classes = MyApplication.class)
public class MyApplicationTests {// 测试内容}

3.优势

我猜到这儿很多小伙伴有所疑惑:

既然@SpringBootTest也要启动主启动类,那和我们直接启动SpringBoot应用来测试有什么区别喃?@SpringBootTest的优势在哪儿?

答案是——轻量级:

@SpringBootTest 注解提供了轻量级的测试环境,相比直接启动整个应用程序,它可以只加载所需的配置和组件,从而使测试更加迅速。这对于单元测试是非常有利的,因为它们通常关注的是某个组件或模块的功能,而不是整个应用程序。

4.常用属性

@SpringBootTest 注解提供了许多属性,用于配置测试的上下文加载和应用程序启动。以下是一些常用的 @SpringBootTest 属性:

classes:

指定启动测试时加载的配置类或主启动类。可以使用其中一个属性,根据需要选择。

webEnvironment:

指定测试的 Web 环境。可以设置为 WebEnvironment.MOCK(默认值,使用 MockMvc)或 WebEnvironment.RANDOM_PORT(随机端口,真正启动嵌入式容器)等。

@SpringBootTest(webEnvironment = WebEnvironment.RANDOM_PORT)

WebEnvironment.MOCK:

在这种模式下,不会启动真正的嵌入式 Web 服务器,而是使用 MockMvc 框架模拟 HTTP 请求和响应。这样可以在没有真实服务器的情况下测试控制器的行为。适用于测试控制器层的逻辑,但不需要测试整个 Web 应用程序的场景。

WebEnvironment.RANDOM_PORT:

在这种模式下,会启动嵌入式 Web 服务器,并使用一个随机的端口。这允许测试整个应用程序的集成,包括 HTTP 请求和响应。适用于测试整个应用程序的场景,但不会影响外部系统。

WebEnvironment.DEFINED_PORT:

与 RANDOM_PORT 类似,但是在这种模式下,使用的端口是固定的,可以在属性中配置。这适用于需要预定义端口的场景,例如与外部系统集成时。

WebEnvironment.NONE:

在这种模式下,不会启动任何嵌入式 Web 服务器,也不会模拟 HTTP 请求和响应。这种模式适用于单元测试,主要测试业务逻辑,而不涉及与 Web 环境的交互。

properties:

指定配置属性。

@SpringBootTest(properties = "my.property=value")

exclude:

指定要排除的配置类。

@SpringBootTest(exclude = {SomeConfiguration.class, AnotherConfiguration.class})

http://www.dinnco.com/news/70876.html

相关文章:

  • 阿里巴巴批发网站叫什么网络推广工作能长久吗
  • 电商网站开发的项目描述seo是哪里
  • 嘉兴企业网站排名优化磁力搜索器 磁力猫
  • 宽城区网站建设seo引擎优化外包公司
  • html5网站建设网页制作代码html制作一个网页
  • 莱芜搬家公司seo效果检测步骤
  • 制作网站商城天津seo推广
  • 成都网络公司网站软件测试培训班多少钱
  • 刘强东当年做网站读的什么书百度一下 官方网
  • 正规的郑州网站建设免费永久注册顶级域名网站
  • 富阳网站定制开发哪家公司好品牌网站建设
  • 做视频网站 视频放在哪里找百度提交网址入口
  • 西安企业网站建设哪家好友情链接是免费的吗
  • 深圳网站维护一般多少钱百度渠道开户哪里找
  • 长春的网站建设google浏览器官网下载
  • 营销方案包括哪些内容seo整站优化方案
  • asp.net 建立网站吗站长工具外链查询
  • 网站改版效果图怎么做找文网客服联系方式
  • 长沙微推广平台seo推广公司招商
  • 网站文档怎么加图片不显示搜索引擎竞价广告
  • 网站建设多维百度总部
  • 给别人做网站挣钱吗?google 推广优化
  • 老师教学生做网站吗官网排名优化
  • 语言文字建设网站软文经典案例
  • wordpress登陆后跳转页面seo代做
  • 做自行车车队网站的名字大全大数据营销案例分析
  • app开发 网站开发统称百度收录入口提交
  • 宁波做网站首荐荣盛网络互联网营销师怎么考
  • 试述网站建设应考虑哪些方面的问题新手如何涨1000粉
  • 跨境独立站平台百度关键词点击