草庐IT

test_msg

全部标签

unit-testing - 在 Go 中测试构造函数

如何为我的Client结构测试我的NewClient构造函数?packagebusybusimport("bufio""net")typeClientstruct{counterintegerconnnet.Connbufin*bufio.Readerbufout*bufio.Writermessageschanstringstatestring}funcNewClient(connnet.Conn,messageschanstring)*Client{return&Client{counter:0,conn:conn,bufin:bufio.NewReader(conn),bufou

unit-testing - testify/assert.Contains 如何与 map 一起使用?

docs以此为例:assert.Contains(t,{"Hello":"World"},"Hello","但是{'Hello':'World'}确实包含'Hello'")但是运行失败mymap:=map[string]string{}mymap["Hello"]="World"assert.Contains(t,mymap,"Hello")导致错误:错误:“map[Hello:World]”无法应用内置len()切换mymap和“hello”的结果是:错误:“Hello”不包含“map[Hello:World]” 最佳答案 我检查

unit-testing - testify/assert.Contains 如何与 map 一起使用?

docs以此为例:assert.Contains(t,{"Hello":"World"},"Hello","但是{'Hello':'World'}确实包含'Hello'")但是运行失败mymap:=map[string]string{}mymap["Hello"]="World"assert.Contains(t,mymap,"Hello")导致错误:错误:“map[Hello:World]”无法应用内置len()切换mymap和“hello”的结果是:错误:“Hello”不包含“map[Hello:World]” 最佳答案 我检查

go - "go test"报告不正确的语句覆盖率

我有一个package只有两个Go文件:一个定义主要功能,另一个用于测试。现在假设我已经cd进入这个包并运行以下命令:$gotest-coverPASScoverage:41.8%ofstatementsokgithub.com/suzaku/dummage0.010s如您所见,这可以正常工作。但我想生成一个HTML报告,所以在谷歌搜索后我使用以下命令:$gotest-run=Coverage-coverprofile=c.outgithub.com/suzaku/dummageokgithub.com/suzaku/dummage0.010scoverage:1.8%ofstatem

go - "go test"报告不正确的语句覆盖率

我有一个package只有两个Go文件:一个定义主要功能,另一个用于测试。现在假设我已经cd进入这个包并运行以下命令:$gotest-coverPASScoverage:41.8%ofstatementsokgithub.com/suzaku/dummage0.010s如您所见,这可以正常工作。但我想生成一个HTML报告,所以在谷歌搜索后我使用以下命令:$gotest-run=Coverage-coverprofile=c.outgithub.com/suzaku/dummageokgithub.com/suzaku/dummage0.010scoverage:1.8%ofstatem

testing - 如何在go test中设置日志级别?

您好,我正在使用以下方法运行我的单元测试:godepgotest-v-runTestMyCode,但我没有找到在我的测试中显示我的信息日志的方法:glog.V(4).Infof("Addingnewpodsfromsource%s:%v",source,update.Pods)这可能吗? 最佳答案 您可以通过设置一些标志将您的消息记录到控制台。在init()函数中尝试以下代码。flag.Set("alsologtostderr",fmt.Sprintf("%t",true))varlogLevelstringflag.StringV

testing - 如何在go test中设置日志级别?

您好,我正在使用以下方法运行我的单元测试:godepgotest-v-runTestMyCode,但我没有找到在我的测试中显示我的信息日志的方法:glog.V(4).Infof("Addingnewpodsfromsource%s:%v",source,update.Pods)这可能吗? 最佳答案 您可以通过设置一些标志将您的消息记录到控制台。在init()函数中尝试以下代码。flag.Set("alsologtostderr",fmt.Sprintf("%t",true))varlogLevelstringflag.StringV

testing - 有没有办法在测试失败的情况下运行基准测试?

除非包中的所有测试都通过,否则基准测试不会运行吗?我看过testingpackagedoc和testingflags而且我找不到只有在所有测试通过后才运行基准测试的记录。有没有办法强制基准测试函数运行,即使包中的某些测试失败了? 最佳答案 您可以使用-run标志跳过失败的测试,或者选择根本不运行gotest-bench.-runNONE 关于testing-有没有办法在测试失败的情况下运行基准测试?,我们在StackOverflow上找到一个类似的问题: ht

testing - 有没有办法在测试失败的情况下运行基准测试?

除非包中的所有测试都通过,否则基准测试不会运行吗?我看过testingpackagedoc和testingflags而且我找不到只有在所有测试通过后才运行基准测试的记录。有没有办法强制基准测试函数运行,即使包中的某些测试失败了? 最佳答案 您可以使用-run标志跳过失败的测试,或者选择根本不运行gotest-bench.-runNONE 关于testing-有没有办法在测试失败的情况下运行基准测试?,我们在StackOverflow上找到一个类似的问题: ht

unit-testing - 如何避免 Go 中的重复测试?

既然去doesnotallowtodebugtestsinsomeIDEs(另请参见issue)我不得不在我的queueimplementation中编写两次测试。.里面一次main.go,第二次-里面queue_test.go我将VisualStudioCode与delve结合使用。调试Go测试而不复制它们的最佳IDE或模式是什么? 最佳答案 我认为您的IDE无法调试测试。尝试不同的东西。例如,截至今天,Gogland的抢先体验版在调试方面工作得很好,即使是测试。它使用Delve引擎盖下的调试器,所以你甚至可以求助于runthed