我有一个包pkg。包pkg的测试在_test.go文件中。然而,为了初始化测试运行器,我需要一个来自其他包的函数,由于循环依赖,我无法在pkg中导入它。我的想法是使用pkg_test包。有什么方法可以从pkg_test中的pkg访问测试函数(在_test.go文件中)?我的项目结构:├──f.go#packagepkg├──f_test.go#packagepkg├──init_test.go#packagepkg_test换句话说:我想在init_test.go中从f_test.go访问一个函数,反之亦然(从init_test.go在f_test.go中。有什么办法吗?PS:在f_t
我有一个Go项目,我在其中使用glide进行包管理。我有一个使用godog的测试套件设置,我使用TestMain包装器通过gotest运行它,如docs中所述godoc(格式为pretty)。因为我不想测试我销售的包,所以我调用测试gotest$(glidenovendor)在我的例子中,项目非常简单,glidenovendor只是返回一个。现在我的问题是:为什么在运行gotest时,我得到了很多漂亮的输出,列出了场景和步骤等等,但是当我运行去测试。我刚得到一个单行okgitlab.knf.local/ngs/gpp0.015s[noteststorun](即使我添加了虚拟测试,这也不
我得到了一段如下代码:iftimeoutErr,ok:=err.(net.Error);ok&&timeoutErr.Timeout(){//Somecodethatneedtotest}我怎样才能生成可以匹配此处条件的错误,以便代码通过if。 最佳答案 Error是一个接口(interface):typeErrorinterface{errorTimeout()bool//Istheerroratimeout?Temporary()bool//Istheerrortemporary?}要实现它,您需要执行以下操作(未经测试):ty
我正在Go中实现一个trie作为学习语言的一种方式。我想从一开始就编写测试,以此来感受Go的处理方法。我在测试trie时遇到的一个问题是我必须为每个单元测试重建它。有没有办法在单元测试中重用我的特里树的相同实例?理想情况下,我想要一种无需任何外部依赖项即可执行此操作的方法。 最佳答案 是的:只需在trie_test.go的funcinit()中构造它。(或者甚至使用文字。) 关于unit-testing-是否可以在gotest中跨单元测试共享上下文?,我们在StackOverflow上找
这是代码去吧packagemainimport"fmt"funcHaha(){fmt.Println("inHaha")}funcmain(){}a_test.gopackagemain_testimport"testing"funcTestA(t*testing.T){Haha()}gobuild有效。但是当我运行~/gopath/src/zjk/misc$gotest-v时。这是我得到的#zjk/misc_test./a_test.go:6:undefined:HahaFAILzjk/misc[buildfailed] 最佳答案
我在设置exportGO111MODULE=on后使用gotest命令更新go.mod并运行测试套件。我看到很多像下面这样的身份验证错误Theauthenticityofhost'gitlab.com(35.231.145.151)'can'tbeestablished.ECDSAkeyfingerprintisSHA256:HbW3g8zUjNSksFbqTiUWPWg2Bq1x8xdGUrliXFzSnUw.Areyousureyouwanttocontinueconnecting(yes/no)?Theauthenticityofhost'gitlab.com(35.231.14
当我在本地运行测试时,它工作正常,但是在创建docker并在容器内运行后,我遇到了错误。/usr/local/lib/python3.5/site-packages/_pytest/config.py:325:in_getconftestmodulesreturnself._path2confmods[path]EKeyError:local('/apis/db/tests')Duringhandlingoftheaboveexception,anotherexceptionoccurred:/usr/local/lib/python3.5/site-packages/_pytest/
当我在本地运行测试时,它工作正常,但是在创建docker并在容器内运行后,我遇到了错误。/usr/local/lib/python3.5/site-packages/_pytest/config.py:325:in_getconftestmodulesreturnself._path2confmods[path]EKeyError:local('/apis/db/tests')Duringhandlingoftheaboveexception,anotherexceptionoccurred:/usr/local/lib/python3.5/site-packages/_pytest/
我有以下文件树结构:-app/---tool/-----/tool_test.go-----/tool.go-----/proto/proto.go-----/proto/proto_test.go我需要使用一个(虚拟)结构在tool_test.go和proto_test.go中实现一个接口(interface):typeDummyRetrieverstruct{}func(dummy*DummyRetriever)Retrieve(namestring)(string,error){return"",nil}如果我只在tool_test.go中定义它,我无法在proto_test.g
这个问题在这里已经有了答案:SeparatingunittestsandintegrationtestsinGo(6个答案)关闭5年前。我正在尝试在现有的Go项目上自动运行单元测试。它已经有很多现有的测试,这些测试可以做非单元测试的事情,比如联系外部服务和写入数据库。我想使用命名约定从自动化中排除这些测试文件。假设项目的结构是这样的:gopath/|-package1.go|-package1_unit_test.go|-package1_e2e_test.go|-package2/|-package2.go|-package2_unit_test.go|-package2_e2e_t