草庐IT

BOOST_PARAM_TEST_CASE

全部标签

go - 在 select{case :channel} 中更改 channel

我使用Ticker定期执行任务,但在更改它时遇到了一些问题。我会在收到一些消息时将自动收报机更改为新的自动收报机并更改间隔。下面是重现此问题的示例代码:packagemainimport("fmt""time")typeAstruct{ticker*time.Ticker}func(a*A)modify(){a.ticker.Stop()a.ticker=time.NewTicker(time.Second)}funcmain(){a:=new(A)a.ticker=time.NewTicker(time.Second)gofunc(){for{select{case“现在”将只打印一

go - 如何在运行 'go test' 时排除或跳过特定目录

这个问题在这里已经有了答案:Runningtestsandskippingsomepackages(1个回答)关闭3年前。gotest$(golist./...|grep-v/vendor/)-coverprofile.testCoverage.txt我正在使用上面的命令来测试文件,但是我想从测试中排除1个名为“Store”的文件夹。怎么做到的?

c++ - 有没有可以和 boost::uniform_int 媲美的 Go 函数?

我正在将一个工具从C++翻译成Go。C++工具使用boost::random库并调用boost::uniform_int。我想知道Go中是否有类似的“开箱即用”功能。如果没有,我需要一些帮助来构建我自己的。我梳理了Go的math/rand包,但没有发现任何明显等价的东西。这是alink提升文档这是C++工具中的函数声明/调用boost::uniform_intrandomDistOp(1,100); 最佳答案 Intn方法应该给你你想要的。packagemainimport("fmt""math/rand""time")funcma

go - 为什么我们在 Go 中的 foo() 中有一个独立的 test() ?

为什么下面代码中的test()函数是这样组织的,而不是将test()中的所有内容都取出来放入foo()中?谢谢!funcfoo()error{...err=test()error{......}...} 最佳答案 您可能需要这样的内部函数有多种原因,但到目前为止,最常见的用途是当您需要在内部函数中使用包含函数的局部变量时。为什么要有一个内部函数?有时您需要它传递到库中,或者您需要它用于go或defer语句。内部函数“关闭”它使用的任何来自外部函数的变量,即使在外部函数返回后这些变量仍然有效。因此,以这种方式定义的函数称为“闭包”。一

unit-testing - 让 'go test -run <case>' 成功为 'go test' 的一般规则是什么?

我发现'gotest'PASS,但是如果我指定subtest,它会失败,这里我给一个全局变量sample,'gotest'会PASS,'gotest-runf/sample2'会失败.我想知道我应该遵循什么一般规则来防止此类问题?走吧packagemainimport"fmt"vargstringfuncf(sstring)string{g=g+sreturns+g}funcmain(){fmt.Println(f("a"))}t_test.gopackagemainimport("testing")funcTest_f(t*testing.T){tests:=[]struct{nam

go test 仅在测试完成后打印输出

我注意到gotest似乎在测试完成后打印到标准输出。我不确定这是gotest的问题,还是因为我正在使用ginkgo以及。有谁知道如何让它在测试运行时打印输出? 最佳答案 在gotest上使用verbose标志以在测试运行时查看日志或打印语句的输出。gotest-v 关于gotest仅在测试完成后打印输出,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/47535538/

go test 无法使用命令 : go test file1_test. go file2.go 加载包

我正在编写单元测试。我将所有测试文件放在其他目录中。假设文件夹mypack。fun1_test.go和base.go文件夹下有两个文件。base.go具有与fun1_test.go相同的通用基本函数。base.go看起来像:packagemypack_testimport(.....)funcBase1(){//somecode}func1_test.go具有测试func1的函数。func1_test.go看起来像:packagemypack_testimport(.....)funcTestFunc1(){//somecodeBase1()//somecode}当我使用命令时gote

go - 如何处理在 switch case 语句中返回两个对象

我正在编写类型断言辅助方法,它接受一个interface{}并返回string和map[string]interface{}.我在case语句中返回这两个对象。为什么它要求在函数结束时返回?我错过了休息时间吗?functypeAssertionHelper(rinterface{})(string,map[string]interface{}){switchg:=r.(type){casestring:returng,nilcase[]interface{}:for_,v:=rangeg{switchs:=v.(type){casestring:returns,nilcasemap[s

golang test spy 错误地比较相等性

我正在学习围棋并正在改编来自testdouble的Java生命游戏示例.然而,我编写的测试spy错误地比较了我的World结构的相等性——测试在它应该失败的时候通过了,因为output(world)没有被调用。我做错了什么?测试:packagegameoflifeimport("testing""github.com/google/go-cmp/cmp")funcTestZeroGenerations(t*testing.T){generatesSeedWorldStub:=GeneratesSeedWorldStub{}outputsWorldSpy:=OutputsWorldSpy

api - 如何从 "test"包测试 Golang 中的主包?

我有一个用Golang编写的简单程序。它是一个API。所以在项目文件夹中,有一个名为cmd的文件夹,其中包含我的main包(用于初始化应用程序并定义API的端点)。还有一个以我的程序命名的文件夹,其中包含同样以我的程序命名的包中的多个文件。这个包作为执行所有必要查询的模型,并包含我定义的所有类型。我还创建了一个名为test的文件夹。它包含名为test的包下的所有测试文件。问题是要运行测试,我必须访问我的主包!有没有办法在Golang中做到这一点?我尝试简单地使用import"cmd/main"但当然它不起作用。我也有一个想法。也许我可以将所有初始化函数(在cmd文件夹中)移动到以我的程