SpringBoot 单元测试用例怎么写

SpringBoot 单元测试用例写法

前言:
技术评审说,我们平时写功能接口时候,需要自己本地测试下,常见的postman,apipost…都可以测试下。简单说就是平时写功能接口,本地要写单元测试。这一听来活了,简单粗暴上代码。

步骤:

1、需要引入springboot-test相关的测试依赖

<dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-test</artifactId>
      <scope>test</scope>
      <exclusions>
         <exclusion>
            <groupId>org.junit.vintage</groupId>
            <artifactId>junit-vintage-engine</artifactId>
         </exclusion>
      </exclusions>
</dependency>

2、代码书写位置编写相关的代码

在这里插入图片描述
3、编写相关的测试用例代码
需要添加@SpringBootTest注解
当时想法是,针对现有接口做个调试,顺便做个压力测试,压力测试代码再下一篇文章,10万数据量看看多久能写入到数据库…。

package com..xx.xx.controxxr.callback;


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

import java.util.ArrayList;
import java.util.List;

@SpringBootTest
public class CallBackControllerTest {

    @Autowired
    private CallBackController callBackController;

    /**
     * 测试xxx接收效率
     */
    @Test
    public void listNetWorkInspectionObjectTest() {
        JointlyxxorkxxctionObject inspectionObject = new JointlyxxorkxxctionObject();
        List<JoinxxNetworxxxObject> dataList = new ArrayList<>();
        for (int i = 0; i < 100000; i++) {
            JoinxxNetworxxxObject object = new JoinxxNetworxxxObject();
            // 编写相关的参数 
            ...
            dataList.add(object);
        }
        inspectionObject.setDataList(dataList);
        // 此位置是调用callBackController有的方法
        callBackController.listxxworkxxInspection(inspectionObject);
    }
}

CallBackController 现有发方法:

    /**
     * xx-aaccxx清单接口
     */
    @PostMapping("/xx/aa/dd/cc")
    @ApiOperation("xx-aaccxx清单接口")
    public void listxxworkxxInspection(@RequestBody JointlyxxorkxxctionObject jointlyxxorkxxctionObject) {
        log.info("xx-x清单接口x每日推送数据......开始......");
        callBackService.callBackxxaakxxspection(jointlyxxorkxxctionObject);
        log.info("xx-x清单接口x每日推送数据......结束......");
    }

注意事项:
1,依赖不要引入错了
2,写测试用例代码的位置,不用本地起服务直接在test用例包直接调用即可
3,如果调试接口的话需要打印日志,用于排查问题。

喜欢我的文章的话,麻烦点个阅读或者点个点赞,是我编写博客的动力

  • 7
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 视觉几何三维重建是指利用摄像机拍摄的多个视角下的图像,通过计算机图形学算法获得三维模型的过程。其中,openmvs是一种基于MVS(多视角几何重建)实现的三维重建工具。 OpenMVS是一个开源的三维重建工具,基于MVS算法,可以实现从多个图像中生成高精度的三维模型。OpenMVS的几何重建算法主要是采用光束法,通过对图像进行矩阵重建来计算相机位置和三角形点云。OpenMVS的几何重建方法相对于其他算法具有较高的稳定性和精度。 在OpenMVS的源码分析中,主要包括三个部分:几何重建、点云和网格处理。几何重建是基于多视角几何的,通过将多个图像的视角转化到同一个坐标系中,可以计算出三角形的点云。点云处理主要包括点云优化和稠密重建。网格处理则是在点云的基础上生成三角形网格模型。 OpenMVS的优势在于能够充分利用多视图几何的信息,提高三维重建的精度和效率。而且该工具具有良好的可扩展性和适应性,可以在不同场景下应用。同时,OpenMVS的开源代码也为研究者提供了一个可靠的研究平台,进行更深入的算法研究和开发。 总之,视觉几何三维重建是一项非常复杂的任务,而OpenMVS作为一个优秀的三维重建工具,通过独特的几何重建算法和优秀的可扩展性,加速了三维重建的研究和应用。 ### 回答2: 首先,视觉几何三维重建是一项重要的计算机视觉技术,其主要目的是利用多视角图像或视频序列来恢复场景的三维结构。在该过程中,重建算法必须解决诸多技术难题,如图像匹配、相机姿态估计、点云配准、三维重建等。 而OpenMVS则是一款优秀的三维重建软件,其核心算法基于多视图几何,能够高效、精确地处理大规模三维数据。具体来说,OpenMVS采用稀疏点云表示法(Sparse Point Cloud)和密集点云表示法(Dense Point Cloud)来表示场景中的点云信息,其中稀疏点云用于初始匹配,密集点云用于表面重建。 在实现中,OpenMVS采用先进的图像流水线(Image Pipeline)来处理输入的图像序列,包括预处理(Pre-processing)、特征提取(Feature Extraction)、特征匹配(Feature Matching)等多个步骤。在此基础上,OpenMVS还提供了多种优化方法,如基于非线性优化的相机姿态估计、自适应曲率滤波等,以进一步提高重建效果。 值得指出的是,OpenMVS作为一款开源软件,其源代码也是完全开放的。此外,OpenMVS还具有友好的用户界面和丰富的文档,能够帮助用户快速上手并实现高质量的三维重建。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值