返回顶部
首页 > 资讯 > 后端开发 > GO >如何编写当函数具有 c *gin.Context 参数时的测试用例
  • 198
分享到

如何编写当函数具有 c *gin.Context 参数时的测试用例

2024-04-04 23:04:11 198人浏览 独家记忆
摘要

大家好,今天本人给大家带来文章《如何编写当函数具有 c *gin.Context 参数时的测试用例》,文中内容主要涉及到,如果你对golang方面的知识点感兴趣,那就请各位朋友继续看下去吧~希望能真

大家好,今天本人给大家带来文章《如何编写当函数具有 c *gin.Context 参数时的测试用例》,文中内容主要涉及到,如果你对golang方面的知识点感兴趣,那就请各位朋友继续看下去吧~希望能真正帮到你们,谢谢!

问题内容

我正在用 Golang 为我的项目编写控制器的测试用例。在控制器中,函数名称 saveprovider() 具有参数 c *gin.context ,我不知道如何将 JSON 传递给 c *gin.context 这个参数以及如何测试控制器中使用的函数任何人都可以告诉我这段代码有什么问题。它也称为表驱动测试。

package controllers

import (
    "bkapiv1/models"
    "fmt"
    "testing"

    "GitHub.com/gin-gonic/gin"
)

func testsaveprovider(t *testing.t) {
    type args struct {
        c    *gin.context
        json providerprofile
    }
    tests := []struct {
        name string
        args args
        want bool
    }{
        {
            "saveprovider",
            args{
                &gin.context{
                   //how to pass here a json means the below json providerprofile.
                },
                providerprofile{
                     models.user{
                         firstname:                  "harry",
                         lastname:                   "potter",
                         fullname:                   "harry potter",
                         companyname:                "theironnetwork",
                         emailid:                   "[email protected]",
                         passWord:                   "vadhera123",
                     },
                     models.addressstruct{},
                     models.provider{
                        providercategory: "ic",
                        priority:         1,
                     },
                },
            },
            true,
         },
     }
     for _, tt := range tests {
        t.run(tt.name, func(t *testing.t) {
            saveprovider(tt.args.c)
        })
     }
}

控制器中的功能是:-

func SaveProvider(c *gin.Context){

}


解决方案


有一个 library 适合你想做的事情

handler := func(w Http.ResponseWriter, r *http.Request) {
    c := CreateTestContext(w)
    SaveProvider(c)
}

req := httptest.NewRequest("GET", "http://example.com/foo", nil)
w := httptest.NewRecorder()
handler(w, req)

resp := w.Result()
body, _ := ioutil.ReadAll(resp.Body)

fmt.Println(resp.StatusCode)
fmt.Println(resp.Header.Get("Content-Type"))
fmt.Println(string(body))

以上就是本文的全部内容了,是否有顺利帮助你解决问题?若是能给你带来学习上的帮助,请大家多多支持编程网!更多关于Golang的相关知识,也可关注编程网公众号。

您可能感兴趣的文档:

--结束END--

本文标题: 如何编写当函数具有 c *gin.Context 参数时的测试用例

本文链接: https://lsjlt.com/news/596490.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 如何编写当函数具有 c *gin.Context 参数时的测试用例
    大家好,今天本人给大家带来文章《如何编写当函数具有 c *gin.Context 参数时的测试用例》,文中内容主要涉及到,如果你对Golang方面的知识点感兴趣,那就请各位朋友继续看下去吧~希望能真...
    99+
    2024-04-04
  • golang函数的测试用例如何编写?
    在 go 中编写函数测试用例涉及使用 testing 包,它提供了定义测试用例 (func test) 和报告失败的函数 (t.error)。单元测试隔离测试单个函数,而集成测试关注与其...
    99+
    2024-04-26
    golang 测试用例 标准库
  • 如何为 Golang 函数文档编写测试?
    编写 go 函数文档测试的语法:测试名称包含 example 前缀。测试代码说明函数预期行为。断言验证函数返回值与预期相同。测试覆盖函数的不同使用情况。编写测试有助于改进函数文档,通过示...
    99+
    2024-05-06
    测试 文档 golang
  • 如何编写健壮且可靠的 Golang 函数测试?
    编写健壮且可靠的 go 语言函数测试包括:模拟依赖项:使用 mockito 等库创建模拟对象以隔离函数。处理并发:使用 goconvey 等框架编写并发测试以模拟并发情况。编写集成测试:...
    99+
    2024-04-16
    golang 函数测试 git
  • 如何为 Go 函数编写全面的单元测试
    在 go 中编写单元测试有助于确保代码质量和可靠性。单元测试包含导入依赖、设置对象、定义输入和输出、调用函数和断言输出等步骤。通过使用 testing 包中的断言函数,您可以比较实际输出...
    99+
    2024-05-02
    单元测试 go函数 golang
  • pytest如何实现测试用例参数化
    小编给大家分享一下pytest如何实现测试用例参数化,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!说明软件测试中,输入相应值,检查期望值,是常见测试方法。在自动化...
    99+
    2023-06-14
  • Golang 函数测试的常用工具有哪些?
    在 go 中进行函数测试,可以使用:标准库中的 testing 包:提供基本断言函数。第三方工具,如:testify/assert:提供更丰富的断言方法。gomock:创建 mock 对...
    99+
    2024-04-16
    单元测试 集成测试 git golang 标准库
  • 如何测量 C++ 函数单元测试的覆盖率?
    在 c++++ 中测量函数单元测试覆盖率的方法包括:使用编译器标志,如 gcc 的 -fprofile-arcs 和 -ftest-coverage 标志;使用测试框架,如 google...
    99+
    2024-04-24
    c++ 单元测试 linux
  • 如何编写高效的 C++ 内联函数?
    内联函数通过直接插入函数主体到调用处来提升小型函数的性能。关键步骤包括:使用 inline 关键字声明内联函数。适用于小函数(通常少于 5-10 行代码)以避免函数调用开销。谨慎内联大型...
    99+
    2024-04-16
    c++ 内联函数
  • 如何使用 Go 和 Bash 编写实时函数?
    在现代计算机应用程序中,实时函数已经变得非常流行。实时函数可以被看作是一种事件驱动的编程模型,通过在事件发生时立即执行代码来响应事件。这种编程模型非常适合需要快速响应事件的应用程序,例如实时数据处理、实时通信和实时数据分析等。 在本文中,...
    99+
    2023-10-04
    bash 实时 函数
  • 如何使用PHP编写自己的HTTP负载测试工具?
    PHP是一种广泛使用的编程语言,尤其在Web开发方面得到了广泛的应用。在Web开发中,HTTP请求负载测试是一项非常重要的任务。HTTP请求负载测试可以帮助开发人员确定一个Web应用程序的能力和性能,以便更好地了解其运行状况。在本文中,我们...
    99+
    2023-10-01
    http load shell
  • PHP 函数的参数传递方式如何在单元测试中使用?
    在 php 单元测试中,参数传递方式至关重要。按值传递确保函数不更改外部变量;按引用传递允许函数修改外部变量;按默认传递使用函数定义中的默认值。实际案例中,按值传递确保函数不会更改外部变...
    99+
    2024-04-15
    php 单元测试
  • 如何使用 C++ 函数中的引用参数
    引用参数直接指向传递给函数的变量,提供效率、可修改性和安全性。具体来说,引用参数可以提高效率(避免复制)、允许函数修改调用者中的变量,并消除悬引用风险。语法为在类型名前加 &am...
    99+
    2024-04-19
    c++ 引用参数
  • C++ 函数调试详解:如何分析函数的输入和输出参数?
    函数调试时,分析输入参数包括:类型匹配、范围、值和边值检查。输出参数分析包含:返回类型验证、指针有效性、引用有效性、值验证等。实战案例演示了如何测试输入和输出参数的有效性,帮助理解代码错...
    99+
    2024-05-03
    c++ 函数调试 编译错误
  • 如何调试 C++ 函数中默认参数和可变参数相关的问题
    调试 c++++ 函数中默认参数和可变参数的问题可以通过以下方法:使用调试器查看函数中实际使用的参数值。在代码中添加日志语句,记录传给函数的实际参数。使用调试器查看可变参数列表的内容。在...
    99+
    2024-04-22
    调试 c++ 函数参数
  • 如何用 PHPUnit 调试 PHP 函数的单元测试?
    使用 phpunit 调试 php 函数的单元测试:安装 phpunit。创建测试用例。运行测试。使用 --debug 选项启用调试器。使用调试器找到并修复错误。 如何使用 PHPUn...
    99+
    2024-04-23
    php 单元测试 composer
  • 在编写Java函数时,如何运用Javascript编程算法?
    Java是一种强大的编程语言,广泛应用于各种应用程序的开发中。但是,在某些情况下,Java函数可能无法满足您的需求。这时,您可以考虑使用Javascript编程算法来补充Java函数的功能。 Javascript是一种脚本语言,通常用于网...
    99+
    2023-11-03
    函数 编程算法 javascript
  • 如何使用 Python 编写分布式实时函数?
    Python 是一个非常流行的编程语言,可以用于编写各种应用程序,包括分布式实时函数。在本文中,我们将介绍如何使用 Python 编写分布式实时函数,并提供一些示例代码来帮助您入门。 什么是分布式实时函数? 分布式实时函数是一种计算模型,它...
    99+
    2023-06-02
    分布式 实时 函数
  • 如何使用 Go 和 Bash 实时编写高效的函数?
    Go 和 Bash 是两种非常流行的编程语言,它们在不同的领域都有着广泛的应用。Go 是一种适用于并发编程的编程语言,它的运行速度非常快,因此在 Web 开发、网络编程、云计算等领域得到了广泛的应用。而 Bash 是一种用于 Unix 和 ...
    99+
    2023-10-04
    bash 实时 函数
  • 如何调用作为参数接收的 C 函数
    编程网今天将给大家带来《如何调用作为参数接收的 C 函数》,感兴趣的朋友请继续看下去吧!以下内容将会涉及到等等知识点,如果你是正在学习Golang或者已经是大佬级别了,都非常欢迎也希望大家都能给我建...
    99+
    2024-04-04
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作