草庐IT

test_phoenix

全部标签

go - 调用 TCP : Protocol not available go webassembly test

尝试去测试一个触发POST请求的web-assembly函数。收到以下错误:firePing_test.go:40:ERRORONPOSTREQUEST:Posthttps://not-the-real-api.execute-api.us-east-1.amazonaws.com/testing:dialtcp:Protocolnotavailable运行:Ubuntu18.04.2长期支持版去版本go1.12.2linux/amd64我已经测试过该函数是有效的,并且在chrome中执行时会发送请求。为linux/amd64编译时测试也通过。问题函数://FirePingfiresa

testing - 如何着手测试 go routines?

此问题的一个示例是当用户创建资源并删除资源时。我们将执行该操作并增加(减少)计数器缓存。在测试中,有时会出现计数器缓存未被go例程更新的竞争条件。编辑:抱歉造成混淆,澄清一下:计数器缓存不在内存中,它实际上是数据库中的一个字段。竞争条件不是内存中的变量,实际上是goroutine写入数据库本身可能很慢!我目前在操作后使用1秒休眠,以确保在测试计数器缓存之前计数器缓存已更新。有没有另一种方法可以测试go例程,而无需任意1秒sleep来等待go例程完成?干杯 最佳答案 Intesting,thereissometimesaracecon

unit-testing - 如何模拟 http.Head()

我正在研究来自https://github.com/golang/example/tree/master/outyet的示例项目.testfile不包括http.Head(url)的情况返回错误。我想扩展单元测试以涵盖记录错误的if语句(https://github.com/golang/example/blob/master/outyet/main.go#L100)。我想模拟http.Head(),但我不确定该怎么做。如何做到这一点? 最佳答案 http.Head函数只是调用Headmethod在默认HTTP客户端上(显示为htt

unit-testing - 使用 testing.T 作为匿名结构字段 : "too many arguments in call to this.T.common.Fail"

我正在尝试解决KarateChopGo中的kata作为练习,并在我的测试用例中遇到了这个编译器错误:toomanyargumentsincalltothis.T.common.Fail我将testing.T包装到一个带有附加方法的结构中,作为一个匿名结构字段:packagemainimport("fmt""testing")typeassertionsstruct{*testing.T}func(thisassertions)assert_equal(expectedint,actualint){if(expected!=actual){this.Fail(fmt.Sprintf("F

unit-testing - 仅使用 golang 中的标准库断言特定错误

假设我有一个函数,它为位于特定路径的文件返回base64编码字符串。funcgetFile(pathstring)(string,error){imgFile,err:=ioutil.ReadFile(path)iferr!=nil{return"",fmt.Errorf("Erroropeningimagefile:%s",err)}base64:=base64.StdEncoding.EncodeToString(imgFile)returnbase64,nil}现在,我正在为此函数编写表驱动测试,它们现在看起来像这样。funcTestGetFile(t*testing.T){ty

go - 如何在test2中调用test1的Go函数

按照下面的方式进入文件packagegoClientLibimport(....)//ThefollowingfunctionwillreadCommandLineInputsandwillreturn3stringsfuncreadInput()(string,string,string){var(clientRequest,clientId,clientPasswordstring)argsLen:=len(os.Args)fmt.Println("ArgLength:",argsLen)iflen(os.Args)!=4{fmt.Fprintf(os.Stderr,"Usage:

google-app-engine - 为什么 "go test -v"没有看到 GOPATH 或 GOPATH 但 "go env"有?

当我使用以下命令在本地运行应用程序时,该应用程序工作正常:$dev_appserver.pyapp.yaml但是,当我尝试运行测试时,似乎并未设置ENV。$去测试-vskincare.go:6:5:cannotfindpackage"appengine"inanyof:/usr/local/go/src/appengine(from$GOROOT)/Users/bryan/go/src/appengine(from$GOPATH)skincare.go:7:5:cannotfindpackage"appengine/datastore"inanyof:/usr/local/go/src

unit-testing - 接收方方法相互调用时的单元测试

假设有一个User包,它只包含两个简单的方法Hello表示“你好”Say实现用户说话的方式原创packageuserimport"fmt"typeuserstruct{}func(uuser)Hello(){u.Say("Hello")}func(uuser)Say(sentencestring){fmt.Println(sentence)}但是,我们无法对Hello进行单元测试,因为它依赖于不可模拟的Say。在StackOverflow和Goole上翻来覆去,我总结了两种解决问题的方法,但都不是完美的。方法1-使用lambda函数用户.gopackageuserimport"fmt"

testing - 在 golang 中运行没有 "go test"的基准测试

我想在我的应用程序中运行基准测试。那可能吗?如果可以,我怎么办?我一直在四处寻找,但到目前为止还没有看到任何迹象。 最佳答案 您可以使用testing.Benchmark无需运行gotest。packagemainimport("fmt""testing")funcFib(nint)int{ifn 关于testing-在golang中运行没有"gotest"的基准测试,我们在StackOverflow上找到一个类似的问题: https://stackoverf

testing - 我将如何测试这种方法?

基本上,我已经开始为RiotGamesAPI编写包装器,但我正在为如何测试它而苦苦挣扎。我已经将存储库插入Travis,因此在推送时它会运行gotest但我不确定如何测试它,因为请求所需的API_KEY每天都在变化,而且我无法自动-重新生成它,如果我直接测试端点,我必须每天手动添加它。所以我想知道是否可以模拟响应,但在那种情况下我猜我需要重构我的代码?所以我做了一个结构来表示他们的SummonerDTOtypeSummonerstruct{IDint64`json:"id"`AccountIDint64`json:"accountId"`ProfileIconIDint`json:"p