草庐IT

test_msg

全部标签

去测试 : only run tests that contain a build tag?

我有一组长时间运行的测试,用构建标签定义。例如,//filesome_test.go//+buildfunc_test(restoffilewithtestcases)我还有许多其他运行时间较短的测试,没有这个构建标志。有没有一种方法可以轻松地仅运行包含构建标记“func_test”的测试?请注意,如果我只运行gotest-tagsfunc_test,它会运行所有测试,包括some_test.go中的测试。 最佳答案 根据golang文档https://golang.org/pkg/go/build/构建标签列出了文件应该包含在包中

去测试 : only run tests that contain a build tag?

我有一组长时间运行的测试,用构建标签定义。例如,//filesome_test.go//+buildfunc_test(restoffilewithtestcases)我还有许多其他运行时间较短的测试,没有这个构建标志。有没有一种方法可以轻松地仅运行包含构建标记“func_test”的测试?请注意,如果我只运行gotest-tagsfunc_test,它会运行所有测试,包括some_test.go中的测试。 最佳答案 根据golang文档https://golang.org/pkg/go/build/构建标签列出了文件应该包含在包中

go - 是否可以使用 `go install` 而不是 `go test -c` 来编译测试二进制文件

我想在需要时构建测试二进制文件(仅当包或其依赖项发生变化时)-类似于goinstall与gobuild。加快构建测试二进制文件的唯一选项是-i(gotest-c-i)。知道go工具是否支持吗?是否有任何其他类似go的工具来执行此操作(我想在go包上使用具有native支持的工具,而不是像make这样的基于文件的系统)。 最佳答案 去之前1.10对于gogobuild不存储包编译目标文件。goinstall可以。一种解决方案是在正确的包中调用goinstall。它将遍历所有包依赖项,如果依赖包中文件的时间戳发生变化,则编译它们,存储目

go - 是否可以使用 `go install` 而不是 `go test -c` 来编译测试二进制文件

我想在需要时构建测试二进制文件(仅当包或其依赖项发生变化时)-类似于goinstall与gobuild。加快构建测试二进制文件的唯一选项是-i(gotest-c-i)。知道go工具是否支持吗?是否有任何其他类似go的工具来执行此操作(我想在go包上使用具有native支持的工具,而不是像make这样的基于文件的系统)。 最佳答案 去之前1.10对于gogobuild不存储包编译目标文件。goinstall可以。一种解决方案是在正确的包中调用goinstall。它将遍历所有包依赖项,如果依赖包中文件的时间戳发生变化,则编译它们,存储目

testing - 哪个目录放模拟?

我最近一直在试验GoMock,由Go语言的官方创建者支持的测试模拟框架。我想知道把这些模拟文件放在哪里最合理。我目前的目录结构如下。这是Go项目的结构吗?appname|--gateways|--gateway1.go|--gateway1_test.go|--gateway2.go|--gateway2_test.go|--mocks|--gateway1.go|--gateway2.go这受到BenJohnson演讲的轻微影响here. 最佳答案 我也倾向于关注BenJohnson的这篇文章Linktoarticle一般来说,这

testing - 哪个目录放模拟?

我最近一直在试验GoMock,由Go语言的官方创建者支持的测试模拟框架。我想知道把这些模拟文件放在哪里最合理。我目前的目录结构如下。这是Go项目的结构吗?appname|--gateways|--gateway1.go|--gateway1_test.go|--gateway2.go|--gateway2_test.go|--mocks|--gateway1.go|--gateway2.go这受到BenJohnson演讲的轻微影响here. 最佳答案 我也倾向于关注BenJohnson的这篇文章Linktoarticle一般来说,这

testing - 在 goroutine 中使用 Gock 和 HTTP 调用时的数据竞争

我在使用Gock进行测试期间模拟我的HTTP调用,它运行良好,除非我从一个单独的goroutine运行HTTP调用(想想goPost("https://myapi.com","thisbody")。在这种情况下,我真的不关心HTTP响应,只想触发请求。这会导致http.Client.send()和gock.New()之间出现竞争条件。有没有办法解决这个问题,或者在这种情况下推荐的模拟API调用的方法是什么?谢谢! 最佳答案 您可以使用TestMain具有以下结构:funcsetup(){//Mockmicroservicegock.

testing - 在 goroutine 中使用 Gock 和 HTTP 调用时的数据竞争

我在使用Gock进行测试期间模拟我的HTTP调用,它运行良好,除非我从一个单独的goroutine运行HTTP调用(想想goPost("https://myapi.com","thisbody")。在这种情况下,我真的不关心HTTP响应,只想触发请求。这会导致http.Client.send()和gock.New()之间出现竞争条件。有没有办法解决这个问题,或者在这种情况下推荐的模拟API调用的方法是什么?谢谢! 最佳答案 您可以使用TestMain具有以下结构:funcsetup(){//Mockmicroservicegock.

unit-testing - 当我删除 fmt.Println() 时,golang 中的猴子修补失败

在编写测试时,我必须修补一个方法以检查它是否被调用,这是我的代码:import"fmt"typemyStructstruct{}func(myObject*myStruct)firstMethod(){myObject.SecondMethod()}func(myObject*myStruct)SecondMethod(){fmt.Println("InsidetheoriginalSecondMethod")//testfailsifIremovethis}这是测试:import("reflect""testing""github.com/bouk/monkey""github.co

unit-testing - 当我删除 fmt.Println() 时,golang 中的猴子修补失败

在编写测试时,我必须修补一个方法以检查它是否被调用,这是我的代码:import"fmt"typemyStructstruct{}func(myObject*myStruct)firstMethod(){myObject.SecondMethod()}func(myObject*myStruct)SecondMethod(){fmt.Println("InsidetheoriginalSecondMethod")//testfailsifIremovethis}这是测试:import("reflect""testing""github.com/bouk/monkey""github.co