草庐IT

test_msg

全部标签

testing - 如何为基于 net/http 的代码编写集成测试?

这是一个示例代码:packagemainimport("net/http")funcHome(whttp.ResponseWriter,r*http.Request){w.Write([]byte("Hello,world!"))}funcRouter()*http.ServeMux{mux:=http.NewServeMux()mux.HandleFunc("/",Home)returnmux}funcmain(){mux:=Router()http.ListenAndServe(":8080",mux)}这是我写的测试用例:packagemainimport("net/http""

testing - 找到 TestMain 多个定义

如果我定义两个测试,每个测试都有自己的TestMain方法,gotest错误:“找到多个TestMain定义”。我能理解并期待这种行为,因为在同一个包中不应该有多个TestMain。但是,我不知道现在该怎么办。每个测试套件都有自己的需求。我需要创建不同的TestMain来设置测试,当然,无需重命名我的包。我可以在其他语言中使用before、after等设置方法轻松做到这一点,这是测试类所独有的。我可能会去使用testify的套房。遗憾的是,stdlib不支持这一点。你有什么建议吗? 最佳答案 您可以使用M.Run.funcTestM

testing - 找到 TestMain 多个定义

如果我定义两个测试,每个测试都有自己的TestMain方法,gotest错误:“找到多个TestMain定义”。我能理解并期待这种行为,因为在同一个包中不应该有多个TestMain。但是,我不知道现在该怎么办。每个测试套件都有自己的需求。我需要创建不同的TestMain来设置测试,当然,无需重命名我的包。我可以在其他语言中使用before、after等设置方法轻松做到这一点,这是测试类所独有的。我可能会去使用testify的套房。遗憾的是,stdlib不支持这一点。你有什么建议吗? 最佳答案 您可以使用M.Run.funcTestM

unit-testing - 比较单元测试中的当前时间

我目前正在编写一个与字符串进行比较的单元测试。第一个字符串是使用函数生成的。另一个是硬编码的,可以作为引用。我的问题是,创建第一个字符串的函数将当前时间(time.Now())以秒为单位精确注入(inject)到字符串中。目前我对引用做了同样的事情,但这对我来说似乎很难看。我的机器运行速度足够快,可以通过测试,但我不想依赖它。进行此类测试的一般技术是什么? 最佳答案 您可以通过init()函数在您的_test.go文件中加入time.Now()等函数,这将给出确定性的时间值:packagemainimport("fmt""time"

unit-testing - 比较单元测试中的当前时间

我目前正在编写一个与字符串进行比较的单元测试。第一个字符串是使用函数生成的。另一个是硬编码的,可以作为引用。我的问题是,创建第一个字符串的函数将当前时间(time.Now())以秒为单位精确注入(inject)到字符串中。目前我对引用做了同样的事情,但这对我来说似乎很难看。我的机器运行速度足够快,可以通过测试,但我不想依赖它。进行此类测试的一般技术是什么? 最佳答案 您可以通过init()函数在您的_test.go文件中加入time.Now()等函数,这将给出确定性的时间值:packagemainimport("fmt""time"

Postman断言响应数据之编写Test脚本

前言相信很多测试小伙伴儿们都熟悉Postman这个工具,通常我们在做接口测试的时候,需要我们去查看接口的响应数据是否跟我们预期的结果相匹配,Postman就提供了这个功能,我们可以使用JavaScript编写Tests脚本。下面我们以返回省份地区的接口为例接口响应的数据为:{"code":2000,"msg":"success","data":[{"province":"广东省","salesamount":18963765814.051014,"sellcount":146122057,"region_id":"440000"},{"province":"浙江省","salesamount"

testing - Golang 中的模拟函数来测试我的 http 路由

我完全不知道如何在不使用任何其他包(如golang/mock)的情况下模拟一个函数。我只是想学习如何这样做,但找不到很多像样的在线资源。本质上,我followedthisexcellentarticle这解释了如何使用接口(interface)来模拟事物。因此,我重新编写了我想测试的函数。该函数只是将一些数据插入数据存储区。我对此的测试没问题——我可以直接模拟该函数。我遇到的问题是在我尝试测试的http路由“内”模拟它。我正在使用Gin框架。我的路由器(简化版)如下所示:funcSetupRouter()*gin.Engine{r:=gin.Default()r.Use(gin.Log

testing - Golang 中的模拟函数来测试我的 http 路由

我完全不知道如何在不使用任何其他包(如golang/mock)的情况下模拟一个函数。我只是想学习如何这样做,但找不到很多像样的在线资源。本质上,我followedthisexcellentarticle这解释了如何使用接口(interface)来模拟事物。因此,我重新编写了我想测试的函数。该函数只是将一些数据插入数据存储区。我对此的测试没问题——我可以直接模拟该函数。我遇到的问题是在我尝试测试的http路由“内”模拟它。我正在使用Gin框架。我的路由器(简化版)如下所示:funcSetupRouter()*gin.Engine{r:=gin.Default()r.Use(gin.Log

testing - 使用 testify mock 进行表驱动测试

是否有任何使用testify编写干净的表驱动测试的示例。输入和预期输出的表驱动测试运行良好,但必须测试依赖项的输出似乎真的很难做到。下面的示例使用了一个模拟接口(interface),并要求我编写一个全新的测试函数来验证被测函数是否正确处理了依赖错误。我只是在寻找建议,以便更简化地使用testify模拟包编写单元测试。packagepackageoneimport("errors""musings/packageone/mocks""testing")//RegularTabledriventestfuncTestTstruct_DoSomething(t*testing.T){tes

testing - 使用 testify mock 进行表驱动测试

是否有任何使用testify编写干净的表驱动测试的示例。输入和预期输出的表驱动测试运行良好,但必须测试依赖项的输出似乎真的很难做到。下面的示例使用了一个模拟接口(interface),并要求我编写一个全新的测试函数来验证被测函数是否正确处理了依赖错误。我只是在寻找建议,以便更简化地使用testify模拟包编写单元测试。packagepackageoneimport("errors""musings/packageone/mocks""testing")//RegularTabledriventestfuncTestTstruct_DoSomething(t*testing.T){tes