草庐IT

test_msg

全部标签

unit-testing - 初始化函数中断单元测试

在我要测试的包中,我有一个init函数,它加载配置文件,其中包含一些我想用来运行我的应用程序的东西。但是,我不想在运行单元测试时触发此init函数。有什么方法可以跳过或阻止在单元测试期间调用此init函数吗?一些片段来说明这个问题:funcinit(){varerrerror//Necessarytopreventconfigvariableshadowingconfig,err=loadConfig("./client/config.yml")iferr!=nil{log.Fatal(err)}}funcloadConfig(filepathstring)(*Config,error

“error“ : “no handler found for uri [/test1/_doc/1/update?pretty=true] and method [POST]或者[GET]“

“error”:“nohandlerfoundforuri[/test1/_doc/1/update?pretty=true]andmethod[POST]或者[GET]”一、GET报错原因:type被弃用!PUT/test1/type/1{"name":"李华","age":18}报错:"error":"nohandlerfoundforuri[/test1/type/1?pretty=true]andmethod[PUT]"解决办法:将type修改为_doc,默认的数据类型PUT/test1/_doc/1{"name":"李华","age":18}PUT创建新的索引成功{"_index":

unit-testing - 检查测试在不运行它们或创建二进制文件的情况下编译

我如何使用Go检查我的测试是否编译而不创建任何二进制文件或执行测试?gobuild./...的测试等效项,它执行此操作但忽略测试。 最佳答案 我使用任何不匹配的正则表达式作为运行标志,比如gotest-runNONE./... 关于unit-testing-检查测试在不运行它们或创建二进制文件的情况下编译,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/32162657/

unit-testing - 检查测试在不运行它们或创建二进制文件的情况下编译

我如何使用Go检查我的测试是否编译而不创建任何二进制文件或执行测试?gobuild./...的测试等效项,它执行此操作但忽略测试。 最佳答案 我使用任何不匹配的正则表达式作为运行标志,比如gotest-runNONE./... 关于unit-testing-检查测试在不运行它们或创建二进制文件的情况下编译,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/32162657/

unit-testing - 在测试中覆盖 Go 方法

所以我有这个Client结构,它有一个方法UserByID,它向User的端点发出HTTP请求。我想对该函数进行单元测试,但也不想在函数c.Request中发出实际的HTTP请求。我想用我可以控制的响应和错误来stub该函数。func(cClient)UserByID(idstring)(uUser,errerror){v:=url.Values{}v.Set("id",id)opts:=Request{HTTP:http.Request{Method:http.MethodGet,Form:v,},URL:'some/endpoint/users',}resp,err:=c.Requ

unit-testing - 在测试中覆盖 Go 方法

所以我有这个Client结构,它有一个方法UserByID,它向User的端点发出HTTP请求。我想对该函数进行单元测试,但也不想在函数c.Request中发出实际的HTTP请求。我想用我可以控制的响应和错误来stub该函数。func(cClient)UserByID(idstring)(uUser,errerror){v:=url.Values{}v.Set("id",id)opts:=Request{HTTP:http.Request{Method:http.MethodGet,Form:v,},URL:'some/endpoint/users',}resp,err:=c.Requ

unit-testing - 在 Golang 中进行单元测试时如何测试是否调用了 goroutine?

假设我们有这样一个方法:funcmethod(intrMyInterface){gointr.exec()}在单元测试method中,我们想断言inter.exec被调用了一次且仅调用了一次;所以我们可以在测试中用另一个模拟结构模拟它,这将为我们提供检查它是否被调用的功能:typemockInterfacestruct{CallCountint}func(m*mockInterface)exec(){m.CallCount+=1}在单元测试中:funcTestMethod(t*testing.T){varmockmockInterface{}method(mock)ifmock.Cal

unit-testing - 在 Golang 中进行单元测试时如何测试是否调用了 goroutine?

假设我们有这样一个方法:funcmethod(intrMyInterface){gointr.exec()}在单元测试method中,我们想断言inter.exec被调用了一次且仅调用了一次;所以我们可以在测试中用另一个模拟结构模拟它,这将为我们提供检查它是否被调用的功能:typemockInterfacestruct{CallCountint}func(m*mockInterface)exec(){m.CallCount+=1}在单元测试中:funcTestMethod(t*testing.T){varmockmockInterface{}method(mock)ifmock.Cal

unit-testing - 由于先前的测试用例失败而引发的断言异常

我想不出更好的标题。在下面的代码中,如果rollBackLogger为nil,第一个测试用例将失败,但所有其他测试用例将引发异常。除了使用if语句之外,是否有其他方法可以避免这种情况?我相信这是单元测试中非常常见的情况,assert中应该有一些函数或其他一些方法来避免这种情况。assert.NotNil(rollbackLogger)assert.Equal("Action",rollBackLogger[0].Action)assert.Equal("randompath",rollBackLogger[0].FilePath) 最佳答案

unit-testing - 由于先前的测试用例失败而引发的断言异常

我想不出更好的标题。在下面的代码中,如果rollBackLogger为nil,第一个测试用例将失败,但所有其他测试用例将引发异常。除了使用if语句之外,是否有其他方法可以避免这种情况?我相信这是单元测试中非常常见的情况,assert中应该有一些函数或其他一些方法来避免这种情况。assert.NotNil(rollbackLogger)assert.Equal("Action",rollBackLogger[0].Action)assert.Equal("randompath",rollBackLogger[0].FilePath) 最佳答案