草庐IT

browser-testing

全部标签

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

unit-testing - 如何在测试用例中模拟结构的方法调用

这是该结构及其方法的示例代码typeAstruct{}func(a*A)perfom(string){........}然后我想从包外的函数invoke()调用方法,示例代码vars:=A{}funcinvoke(urlstring){out:=s.perfom(url)......}我想通过模拟A的perform方法为函数invoke编写测试用例。在java中,我们有mockito,jmock框架来stub方法调用。有没有办法在go中,不用在源码中引入interfaces就可以模拟struct的方法调用? 最佳答案 要模拟方法调用

testing - 在 Go 中测试负面场景的方法

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭4年前。Improvethisquestion我想知道在使用外部系统(例如数据库)时是否有一种公认的/惯用的方法来测试意外行为。这些主要是“iferr!=nil{...}”中的情况,通常情况下错误不会发生并且您无法通过输入来控制它。一个“正确”的方法可能是定义一个接口(interface)和一个模拟结构,当您需要它时会返回错误。但是,如果我已经有大量不适用于接口(interface)的代码,那么仅仅为了测试几个场景而引入它们似乎很烦人

unit-testing - 如何使用定义为常量的文件路径测试 Go 代码

我正在为我的一个项目编写测试,其中涉及固定文件路径和基本URL。对我来说,定义它们的最合乎逻辑的方法是通过相关模块中的公共(public)/私有(private)常量,但这会妨碍良好的测试实践。我该如何解决这个问题?我搜索了一个可能的解决方案,发现我可以为需要路径的结构定义两个构造函数:一个定义默认路径,另一个接受自定义路径funcConstruct(paramstring)MyStruct{returnMyStruct{Param:param,Path:"/default/path"}}funcConstructWithPath(param,pathstring)MyStruct{r

testing - 在 Go 中使用 Example... 测试方法时,有没有办法让它显示差异而不是得到...想要...?

我一直在使用go来完成一个更大的项目并且喜欢它,并且为了我的测试我一直在使用funcExampleXxx{...code...//Output://...expectedoutput...}测试方法。当它失败时它会说got:...bunchoflinesshowingtheoutputoftest...want:...thecommentyouputintoshowwhatyouexpected...有什么方法可以让它显示出不同之处吗?我可以将两者复制到单独的文件并运行diff等,但我更愿意让它显示错误的部分,因为我的一些测试有更长的输出。提前致谢编辑:我正在使用http://gola

unit-testing - Go 中用于单元表测试的错误类型检查

我想测试针对tabletest返回的错误类型预期结果,如下所示:vartabletest=[]struct{instructionstringwantstringerrerror}{{"synonymforhi","hello",nil},//input,retval,errtype{"synonymforhig","",TranslationError{}},{"sssnymmforhi","",InstructionError{}},}funcTestThesaurus(t*Testing){for_,testcase:=rangetabletest{got,err:=Thesau

unit-testing - 多返回值函数的表测试

在深入研究tabledriventests之后,我正在学习Go语言。我遇到了以下问题:我有一个返回多个值的函数//Halvesanintegerandandreturnstrueifitwasevenorfalseifitwasodd.funchalf(nint)(int,bool){h:=n/2e:=n%2==0returnh,e}我知道对于half(1)返回值应该是0,false而对于half(2)它应该匹配1,true,但我似乎无法弄清楚如何将其放在table上。怎么会有类似下面的东西呢?varhalfTests=[]struct{inintoutstring}{{1,},{3,