草庐IT

$AB测试

全部标签

unit-testing - 在 golang 中运行单元测试错误 : %1 is not a valid win32 application

我正在尝试运行用golang编写的单元测试用例。执行测试用例时,出现类似“%1不是有效的Win32应用程序”的错误。我已经尝试重新安装go,但问题仍然存在。go.exetestdir-run^(testname)$fork/execC:\user\username\AppData\Local\Temp\go-build976684114\packageName.test:%1不是有效的win32应用程序。错误:测试失败。上面提到的文件夹也没有创建。不确定,发生了什么。 最佳答案 如果我将我的GOOS设置为windows它正在工作设置

测试 HTTP 请求时出现 Nil 取消引用错误

我正在尝试在我的Go库中测试HTTP请求。进行调用的对象通过依赖注入(inject)接受HTTP客户端对象,因此在我的测试中,我像这样模拟HTTP客户端:funcTestMyObject(t*testing.T){server:=httptest.NewServer(http.HandlerFunc(func(whttp.ResponseWriter,r*http.Request){w.WriteHeader(200)w.Header().Set("Content-Type","application/json")fmt.Fprintln(w,mockJSONResponse)}))d

testing - Golang 测试,相同的包,未定义的函数

我很新,正在尝试为go编写一个测试文件。当我运行测试时,我有两个问题:1.我必须运行“gotest-cover”,然后我才能看到这个:#command-line-arguments./client_test.go:59:undefined:InitFAILcommand-line-arguments[buildfailed]我的问题是为什么我不能只运行:去测试(如果我这样做,我会看到这个:exitstatus1FAILcommand-line-arguments0.008s我的第二个问题是包中有两个文件(一个大项目中的一个包),一个file1和一个file1的test.go文件。为什么

testing - 如何去测试多个包

在我的项目中,有数百个包。所以我跑的地方:$(foreachi,$(TEST_PKGS),gotest$(i)-test.short-v)大约需要一个小时。如果我运行:gotest$(TEST_PKGS),它将消耗大量内存。如何处理这个问题? 最佳答案 您可以使用./...测试当前目录和所有子目录中的所有包。来自文档:Tomakecommonpatternsmoreconvenient,therearetwospecialcases.First,/...attheendofthepatterncanmatchanemptystrin

go - 无法在golang中测试模板

//ThisismycontrollertestfunctionthattestforGETItemrequestfuncTestGetItem(t*testing.T){s:=GetDockerItemControllerImpl{GetDockerService:GetItemReqSuccessImplTest{},}for_,test:=rangetestCaseGetItemFullSuccess{router:=mux.NewRouter()router.HandleFunc("/docker/config/{id}",s.GetDockerConfig())//thisw

unit-testing - 在 Go 单元测试中使用两个不同的模拟

我正在学习使用gomock的mockgen实用程序第一次在Go中使用mock进行单元测试。我的单元测试工作正常,除了其中一个。被测方法有两个依赖项:一个依赖于数据库,另一个依赖于它调用restapi的外部服务。数据库的模拟(mockRepo)工作正常,因为被测方法正确调用模拟而不是实际的repo代码。然而,rest客户端的mock继续调用实际的rest客户端而不是mock代码。我不知道为什么。有人可以解释原因并帮助修复吗?这是我的单元测试:funcTestService_CreateWorkspace(t*testing.T){ts:=NewTestService(t)deferts.

go - 测试 golang 文件夹结构

我的文件夹结构如下:src/github.com/hello/hello.gohello_test.gointegers/integers.gointegers_test.gohello.go/hello_test.go属于packagemainintegers.go/integers_test.go属于包整数当从文件夹hello的根目录运行gotest时,它只运行hello_test.go。我怎样才能让它递归地运行所有测试。这是在各自的包内构建测试的正确方法吗? 最佳答案 有一个make文件怎么样?将来如果您扩展您的项目并拥有更多

mysql - 如何测试mysql的insert方法

我正在Go中设置测试。我使用go-sqlmock来测试mysql连接。现在我尝试测试mysqlinsert逻辑。但是出现错误。我想知道如何解决这个错误。serverside:golangdb:mysqlwebframework:gindao.gofuncPostDao(db*sql.DB,articleutil.Article,uustring){ins,err:=db.Prepare("INSERTINTOarticles(uuid,title,content)VALUES(?,?,?)")iferr!=nil{log.Fatal(err)}ins.Exec(uu,article.T

go - 如何在 Go 中正确测试 Controller 类

我正在使用gomock生成业务层并模拟其方法结果。到目前为止,我无法让测试通过,它说“想要”和“得到”的值不同我正在将对象的json表示形式传递给strings.NewReader,而“Want”的值“等于{{...”,这可能是问题所在。packageproductimport(//...)var(productBody=`{"seller":{"id":"Foo"},"sku":"kj1293lkxpto","gtin":"7894949501280","name":"Foo","description":"Bar","legacyInfo":{"id":1021,"digit":4

go - 使用 initilzer 函数创建的结构不会导出到测试包中吗?

假设我们有一个struct和一个类似这样的结构的构造函数packagemyPackagetypeClientstruct{aTypeAbTypeB}funcNewClient(aTypeA,bTypeB)ConcreteClient{return&Client{a:a,b:b,}}typeConcreteClientinterface{ExportedFunc()}func(c*Client)privateFunc(){//...}func(c*Client)ExportedFunc(){//...}我们在这样的测试包中使用这个客户端var(c=&Client{a:a,b:b,})fu