7、单元测试--测试RestFul 接口

这篇具有很好参考价值的文章主要介绍了7、单元测试--测试RestFul 接口。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

单元测试–测试RestFul 接口

– 测试用例类使用@SpringBootTest(webEnvironment = WebEnvironment.RANDOM_PORT)修饰。
– 测试用例类会接收容器依赖注入TestRestTemplate这个实例变量。
– 测试方法可通过TestRestTemplate来调用RESTful接口的方法。

测试用例应该定义在和被测试类位于同一个包位置。


// 测试用例的位置要和被测试的位于同一个包路径位置。
//参数webEnvironment web环境,RANDOM_PORT表示随机端口
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
public class BookControllerTest {

    //测试用例类会接收容器依赖注入TestRestTemplate这个实例变量
    @Autowired
    private TestRestTemplate testRestTemplate;
    
    //注意点:测试的时候,对应的方法的参数列表要加上注解@RequestBody,不然这个book实体传到方法那边,方法无法接收,会变成null。
    
    //单次测试
    @Test
    public void testAddBookRestful(){
        //生成测试数据
        Book book = new Book("mysql", new BigDecimal(100), "ljh");
        //参数1:访问的路径,参数2:测试的数据,参数3:获取服务器响应的数据类型,就是方法的返回值类型
        Book b = testRestTemplate.postForObject("/books", book, Book.class);
        //断言 参数1:期望值 , 参数2:实际值
        Assertions.assertEquals("mysql",b.getName());
        Assertions.assertEquals(BigDecimal.valueOf(100),b.getPrice());
        Assertions.assertEquals("ljh",b.getAuthor());
    }

    //参数化测试,可以让方法进行多次测试
    @ParameterizedTest //允许测试方法接收参数进行测试,和注解 @CsvSource 一起使用,@CsvSource注解用来写参数数据
    //参数是一个数组,数组里面的每一个元素就是方法的参数
    @CsvSource({"书籍A,100,ljh","书籍B,110,ljh","书籍C,120,ljh"})
    public void testAddBookRestful02(String name,BigDecimal price,String author){
        //生成测试数据
        Book book = new Book(name, price, author);
        //测试
        Book b = testRestTemplate.postForObject("/books", book, Book.class);
        //断言
        Assertions.assertEquals(name,b.getName());
        Assertions.assertEquals(price,b.getPrice());
        Assertions.assertEquals(author,b.getAuthor());
    }
}

解释:
注意点1:
涉及注解:@RequestBody
测试的时候,被测试的方法的参数列表要加上注解@RequestBody,不然这个book实体传到被测试方法那边,方法的参数无法接收,会变成null。
7、单元测试--测试RestFul 接口,springboot,单元测试,restful,后端,spring boot

单次测试添加图书:

7、单元测试--测试RestFul 接口,springboot,单元测试,restful,后端,spring boot

多次测试添加图书:

涉及到注解:
1、@ParameterizedTest 表示这个测试是参数化测试,junit5 才有的注解
//允许测试方法使用参数进行测试,
和注解 @CsvSource 一起使用,@CsvSource注解用来写参数数据

2、@CsvSource({“书籍A,100,ljh”,“书籍B,110,ljh”,“书籍C,120,ljh”})
//参数是一个数组,数组里面的每一个元素就是方法的参数,每个元素里面的多个参数用逗号隔开
7、单元测试--测试RestFul 接口,springboot,单元测试,restful,后端,spring boot

测试查询方法

7、单元测试--测试RestFul 接口,springboot,单元测试,restful,后端,spring boot

测试删除

涉及的注解:
@ParameterizedTest //表明这个测试方法属于参数测试
@ValueSource(ints = {76, 77, 78}) //具体参数
7、单元测试--测试RestFul 接口,springboot,单元测试,restful,后端,spring boot文章来源地址https://www.toymoban.com/news/detail-620095.html

到了这里,关于7、单元测试--测试RestFul 接口的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • SpringBoot 如何使用 TestRestTemplate 进行 RESTful API 集成测试

    在使用 SpringBoot 开发 RESTful API 的过程中,我们需要进行集成测试,以确保 API 的正确性和可用性。而 TestRestTemplate 是 Spring Framework 提供的一个工具类,可以用来进行 RESTful API 的集成测试。在本文中,我们将介绍如何使用 TestRestTemplate 进行 RESTful API 集成测试。 TestRestTemplate 是

    2024年02月13日
    浏览(59)
  • Python接口测试实战5(下) - RESTful、Web Service及Mock Server

    REST及RESTful API Web Service XML解析 Mock Server REST:表述性状态转移或表现层状态转移,“表现”及每个接口地址(URI)都表现为(视为)一个资源对象(文本资源、图片资源、服务资源),状态转移指通过POST/PUT方法发送完整的新状态信息来更改资源对象的状态 如某https://api.***.com

    2023年04月11日
    浏览(70)
  • 一直使用PostMan接口测试?不妨试试IDEA内置插件Restful Fast Request

    小编在看一些Idea常用开发插件的时候,发现了一个神奇的插件,百度一搜还是咱们国人开发的,支持一波。今天安装了一下,是真的香啊!完全可以代替Postman来进行测试了,它就是Idea的插件 Restful Fast Request 。今天小编就带大家一起探索一下这个插件到底好不好使用!! R

    2024年02月12日
    浏览(28)
  • Forest-声明式HTTP客户端框架-集成到SpringBoot实现调用第三方restful api并实现接口数据转换

    声明式HTTP客户端API框架,让Java发送HTTP/HTTPS请求不再难。它比OkHttp和HttpClient更高层, 是封装调用第三方restful api client接口的好帮手,是retrofit和feign之外另一个选择。 通过在接口上声明注解的方式配置HTTP请求接口。 官网: Forest   代码地址: forest: 声明式HTTP客户端API框架,让

    2024年02月04日
    浏览(100)
  • restful风格接口命名规范

    (一)rest 1.概念 REST即表述性状态传递(英文:Representational State Transfer,简称REST)是Roy Fielding博士在2000年他的博士论文中提出来的一种软件架构风格。它是一种针对网络应用的设计和开发方式,可以降低开发的复杂性,提高系统的可伸缩性。 可理解为: URL定位资源,用H

    2024年02月02日
    浏览(32)
  • RESTful接口设计规范

    RESTful是目前最流行的API设计规范,它是用于Web数据接口的设计。从字面可以看出,他是Rest式的接口,所以我们先了解下什么是Rest。 REST与技术无关,它代表的是一种软件架构风格,REST它是 Representational State Transfer的简称,中文的含义是: “表征状态转移” 或 “表现层状态转

    2024年02月06日
    浏览(28)
  • web应用模式、API接口、接口测试工具postman、如何在浏览器中测试、restful规范、序列化反序列化、基于Django原生编写五个接口、drf介绍和快速使用、drf之APIView源码分析

    目录 一、web应用模式 二、API接口 三、接口测试工具postman postman介绍 postman下载与使用 四、如何在浏览器中测试 五、restful规范(重要) 六、序列化反序列化 七、基于Django原生编写五个接口 八、drf介绍和快速使用 概念 特点(了解一下) 安装 使用drf编写五个接口 九、drf之API

    2024年02月05日
    浏览(40)
  • 课程8:RESTful风格API接口

    2023年05月11日
    浏览(32)
  • 15.Spring Boot单元测试(Service、Mock、Feign、Http Rest API)

    Spring Boot专栏目录(点击进入…) **test**表示依赖的组件仅仅参与测试相关的工作,包括测试代码的编译和执行,不会被打包包含进去;spring-boot-starter-test是Spring Boot提供项目测试的工具包,内置了多种测试工具,方便我们在项目中做单元测试、集成测试。 引入spring-boot-star

    2024年02月04日
    浏览(32)
  • 用Kettle调用Restful API 接口

    前言 作为一名架构师,在带领团队进行项目开发时,笔者认为一定要遵循一个原则:能借助第三方工具解决的开发任务,尽量用工具解决,以此来减少开发量,这样不但能够提高团队的工作效率,便于项目及时交付,也能在开发人员数量一定的条件下,更容易把余下的开发工

    2024年02月01日
    浏览(33)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包