草庐IT

test_node_xx

全部标签

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

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

来自十六进制的 Node.js 缓冲区和 Golang 中的 readUInt16BE

我在nodejs中有这样一段代码://CreateBufferfromhexrepresentationb=newBuffer('002400050200000000320000000003847209cd4450ff94ad8c0000000002c581000001d3','hex')//Readwithoffset0b.readUInt16BE(0)//->Out:36它读取一个字符串,它是数据的十六进制表示。当读取前两个字节readUInt16BE时,将获得一个int(36)。这是预期的行为。我需要使用Go复制此行为,但我遇到了一些麻烦。1)如何从十六进制格式的字符串创建缓冲区

go - 从 html.Node 中检索原始数据

我想以字符串的形式获取html.Node的内容。例子:FirstparagraphSecondparagraph给定myNode:=html.Node("#my-node")(伪代码),我想将上面的整个html作为字符串检索。缩进无关紧要。除了迭代节点的内容外,我在互联网上找不到任何东西-myNode.NextSibling但它过于复杂,我很确定必须有更简单的方法。更新:我正在引用golang.org/x/net/html包。 最佳答案 我明白你的意思,我在测试中经常使用它。您需要的已经在同一个x/net/html包中-您可以Ren

unit-testing - Go - 表驱动测试辅助函数

我发现了很多关于表驱动测试的好例子,但似乎没有人写过关于创建辅助测试方法以传递要测试的函数的下一步。这样就不必为您要测试的每个函数重复这部分代码:funcTestFib(t*testing.T){for_,tt:=rangefibTests{actual:=Fib(tt.n)ifactual!=tt.expected{t.Errorf("Fib(%d):expected%d,actual%d",tt.n,tt.expected,actual)}}}//from:https://medium.com/@matryer/5-simple-tips-and-tricks-for-writin

testing - 如何使用标准的 Go 测试包实现 BDD 实践?

我想先写测试,再写让测试通过的代码。我可以这样写测试函数:funcTestCheckPassword(t*testing.T){isCorrect:=CheckPasswordHash("test","$2a$14$rz.gZgh9CHhXQEfLfuSeRuRrR5uraTqLChRW7/Il62KNOQI9vjO2S")ifisCorrect!=true{t.Errorf("Passwordiswrong")}}但我想为每个测试函数提供更多描述性信息。例如,我正在考虑为我的应用程序创建身份验证模块。现在,用简单的英语,我可以很容易地描述我对这个模块的要求:它应该接受一个非空字符串作

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

unit-testing - 用单元测试覆盖主函数中的代码

Golang显示我只有50%的覆盖代码,而且我看到main中的代码没有被覆盖,我尝试搜索但没有找到任何解释如何覆盖main中的代码的内容。ma​​in.gopackagemainfuncSum(xint,yint)int{returnx+y}funcmain(){Sum(5,5)}ma​​in_test.gopackagemainimport("testing")funcTestSum(t*testing.T){total:=Sum(5,5)iftotal!=10{t.Fail()}} 最佳答案 测试文件通常紧挨着他们测试的代码。根

node.js - Nodejs/Golang aes 256解密

我有一个加密的字符串,我可以使用以下代码在nodejs中对其进行解密letdecrypt=crypto.createDecipheriv('aes-256-cbc-hmac-sha1',derived,iv);decrypt.setAutoPadding(false);letdecrypted=decrypt.update(new_buf,'binary','utf8')+decrypt.final('utf8');我必须能够在go程序中解密相同的缓冲区,所以我写了这个fmt.Printf("bufsize=%d\n",len(derivedKey))block,err:=aes.Ne

unit-testing - 如何为单元测试模拟标准包函数

我有三个功能:funcIsSymlinks(pathstring){......}func(c*MyClass)myFunc1(pathstring){...morecode...morecodeifIsSymlinks(path){realPath:=filepath.EvalSymlinks(path)}...morecode...morecode}funcmyFunc2(pathstring){...morecode...morecodeifIsSymlinks(path){realPath:=filepath.EvalSymlinks(path)}...morecode...m

unit-testing - 数据库单元测试

我希望就我正在编写的用于测试某些数据库条目的单元测试获得一些建议。如果没有找到记录,我正在测试的函数会为数据库播种。funcSeed(db*gorm.DB){vardata[]Datadb.Find(&data)iflen(data)==0{//doseeddefaultdata}}我似乎不太了解的是对iflen测试的测试。我正在使用一个测试数据库,所以我可以随时核对它,所以如果我只需要在函数上强制一个空数据库,这不是问题。该功能本身有效,我只是想确保我能做到这一点。任何建议都会很棒。谢谢! 最佳答案 这真的取决于,有很多方法可以根