草庐IT

test_msg

全部标签

unit-testing - 如何测试创建和注入(inject)依赖项的函数

我的问题是您如何决定在何处注入(inject)依赖项,以及如何测试首次将依赖项注入(inject)函数的函数?例如,我正在重构一些Go代码以使用依赖注入(inject),目的是让代码更易于测试。这是我重构后的代码的样子:typeFooIfaceinterface{FooFunc()}typeFoostruct{}func(f*Foo)FooFunc(){//SomefunctionIwouldliketostub}funcmain(){OuterFunction()}funcOuterFunction(){fooVar:=&Foo{}InnerFunction(fooVar)//Oth

unit-testing - 如何测试创建和注入(inject)依赖项的函数

我的问题是您如何决定在何处注入(inject)依赖项,以及如何测试首次将依赖项注入(inject)函数的函数?例如,我正在重构一些Go代码以使用依赖注入(inject),目的是让代码更易于测试。这是我重构后的代码的样子:typeFooIfaceinterface{FooFunc()}typeFoostruct{}func(f*Foo)FooFunc(){//SomefunctionIwouldliketostub}funcmain(){OuterFunction()}funcOuterFunction(){fooVar:=&Foo{}InnerFunction(fooVar)//Oth

unit-testing - 如何在排除某些文件的情况下测试包?

这个问题在这里已经有了答案:HowtoignoregeneratedfilesfromGotestcoverage(4个答案)关闭4年前。我的文件夹结构有点像这样。├──executor|├──executor_test.go||──executor.go||--excutor_mock.go||--errors.go||--app.go├──_includes|├──xyz.go|└──abc.go├──vendorexecutor_test.go包含executor.go的所有单元测试用例。因此,当我运行gotest--cover./...时,它向我展示了覆盖率包,这很好,但我也想

unit-testing - 如何在排除某些文件的情况下测试包?

这个问题在这里已经有了答案:HowtoignoregeneratedfilesfromGotestcoverage(4个答案)关闭4年前。我的文件夹结构有点像这样。├──executor|├──executor_test.go||──executor.go||--excutor_mock.go||--errors.go||--app.go├──_includes|├──xyz.go|└──abc.go├──vendorexecutor_test.go包含executor.go的所有单元测试用例。因此,当我运行gotest--cover./...时,它向我展示了覆盖率包,这很好,但我也想

testing - 如何对项目中除 vendor 包之外的所有测试文件运行 go test

我的项目文件夹包含:MakefileREADME.mdcomponent/driver/service/vendor/worker/我想对所有测试文件运行gotest,例如foobar_test.go文件,vendor包中的测试文件除外。我最接近成功的是gotest./...但其中包括vendor测试文件。我在文档中看到您可以将正则表达式传递给-run选项,但我无法让它正常工作。例如,我尝试了gotest./*,但我得到了一堆can'tloadpackageerrors。执行此操作的最佳方法是什么? 最佳答案 -run模式只匹配测试

testing - 如何对项目中除 vendor 包之外的所有测试文件运行 go test

我的项目文件夹包含:MakefileREADME.mdcomponent/driver/service/vendor/worker/我想对所有测试文件运行gotest,例如foobar_test.go文件,vendor包中的测试文件除外。我最接近成功的是gotest./...但其中包括vendor测试文件。我在文档中看到您可以将正则表达式传递给-run选项,但我无法让它正常工作。例如,我尝试了gotest./*,但我得到了一堆can'tloadpackageerrors。执行此操作的最佳方法是什么? 最佳答案 -run模式只匹配测试

testing - Go,Golang : travis error for main program, go get -v

在我的repo的子目录中,我有一些带有packagemain的脚本来显示我的包的一些示例用法。但这在Travis上进行测试时会出现以下错误。repoexample-dirsub-dirmain.go//thisgivesmeerrorlikethefollowinggithub.com/~/directory-for-main-program命令“goget-v./...”失败。正在重试,第2个,共3个。我只在Travis中看到这个错误,在使用gotest的本地机器中看不到。有没有办法把主程序分开,还能通过Travis测试? 最佳答案

testing - Go,Golang : travis error for main program, go get -v

在我的repo的子目录中,我有一些带有packagemain的脚本来显示我的包的一些示例用法。但这在Travis上进行测试时会出现以下错误。repoexample-dirsub-dirmain.go//thisgivesmeerrorlikethefollowinggithub.com/~/directory-for-main-program命令“goget-v./...”失败。正在重试,第2个,共3个。我只在Travis中看到这个错误,在使用gotest的本地机器中看不到。有没有办法把主程序分开,还能通过Travis测试? 最佳答案

testing - 在 Go 中使用反射检查兼容类型

虽然我知道在Go中panic可能不是惯用的,但我想测试以确保函数在特定条件下而不是在其他条件下panic。函数示例。funcPanicOnErr(potentialErrerror){ifpotentialErr!=nil{panic(potentialErr)}}下面是一个检查函数是否会panic的实现。funcInvocationCausedPanic(finterface{},params...interface{})bool{//Obtainthefunction'ssignature.reflectedFunc:=reflect.ValueOf(f)funcType:=ref

testing - 在 Go 中使用反射检查兼容类型

虽然我知道在Go中panic可能不是惯用的,但我想测试以确保函数在特定条件下而不是在其他条件下panic。函数示例。funcPanicOnErr(potentialErrerror){ifpotentialErr!=nil{panic(potentialErr)}}下面是一个检查函数是否会panic的实现。funcInvocationCausedPanic(finterface{},params...interface{})bool{//Obtainthefunction'ssignature.reflectedFunc:=reflect.ValueOf(f)funcType:=ref