草庐IT

do_the_test

全部标签

戈朗 : How to run the same logic at the beginning of every struct member functions?

例如,我想打印出某个结构的每个函数的函数名。除了我在每个成员函数的开头使用fmt.Println,还有什么更好的方法吗? 最佳答案 packagemainimport"fmt"import"runtime"funcmain(){pc,_,_,_:=runtime.Caller(0)fmt.Println("Nameoffunction:"+runtime.FuncForPC(pc).Name())fmt.Println()//or,defineafunctionforitfmt.Println("Nameoffunction:"+f

unit-testing - golang 这应该是一个集成测试吗?

我有一个实现数据库接口(interface)的方法,该方法将一个“对象”插入到数据库中。typedatabaseinterface{createLog(logDoc)(bool,error)}typemongostruct{databasestringcollectionstring}func(mmongo)createLog(llogDoc)(bool,error){s,err:=mgo.Dial("mongo")defers.Close()iferr!=nil{returnfalse,err}err=s.DB(m.database).C(m.collection).Insert(l

unit-testing - 安装go lang后无法运行go test程序

尝试运行用Go编写的测试时出现以下错误。我安装了Golang和dep。我是Go的新手,我不确定这里的问题是什么。有人可以帮助我吗?xxxx-dxxxx:testxxxx$gotest#_/Users/xxxx/dev/xxxx/test/xxxx/testapplication_cluster_test.go:10:2:cannotfindpackage"github.com/stretchr/testify/assert"inanyof:/usr/local/Cellar/go/1.10.3/libexec/src/github.com/stretchr/testify/assert

unit-testing - 无法在 GoLand IDE 内的测试套件中运行单个测试?

我正在使用testify'stestsuite支持编写单元测试。这导致我的测试文件有一个TestFooBar(t*testing.T)启动suite.Run而我所有的单独测试都成为我的测试套件的一部分struct方法签名如-func(suite*myTestSuite)TestMyStuff()。我观察到GoLand可以识别所有带有类似于TestFooBar(t*testing.T)签名的方法,并在其旁边放置一个绿色的播放图标。它将允许我单独运行/调试这些方法。但是,作为上述测试套件一部分的所有测试方法都不会被识别,也无法在IDE中单独运行或调试。有什么方法可以告诉GoLandmyTe

mongodb - 无法解析行 #126 : mongo. 数据库 = mongo_db_test

我正在学习本教程Golang+Revelwebframework+MongodbRESTFulgeneratorfor(revel_mgo)一步一步来,但是当我最终结束它并尝试运行它时,它抛出了这个错误CRIT16:11:18revel_container.go:139:无法加载配置文件error="C:\Users\Userx\go\src\RevelApp\conf\app.conf:无法解析第126行:mongo.database=RevelApp"第126行是这样的:[dev]126-mongo.database=mongo_db_test127-mongo.path=127.

c++ - 系统调用.MustLoadDll.MustFindProc 抛出 "The specified procedure could not be found"

我用C++编写了一个动态链接库并正确导出它,以便Go能够使用Win32API获取适配器信息。但是当我在Go中调用它的函数时,它抛出“找不到指定的过程”错误。我是Go的新手,所以我不知道如何解决它。谁能帮帮我?这里有一些关于我的环境的信息:platform:windows10x64CXXcompiler:visualc++15.3goversion:go1.11.2windows/amd64这是我的代码:#include"stdafx.h"#include#include#include#includeusingnamespacestd;__declspec(dllexport)cons

unit-testing - 如何使用 os.O_RDWR 和 os.O_CREATE 标志测试 file.Open?

我正在尝试为结构构造函数编写单元测试,如果在file.Open期间发生错误,它也可能返回nil。我不知道如何使用标志测试/模拟文件错误:os.O_RDWR|os.O_CREATE|os.O_APPEND我试图在测试中检查nil值,但失败了。构造函数:typeAppstruct{someFieldstringlog*log.Logger}funcNew()*App{app:=&App{}f,err:=os.OpenFile("info.log",os.O_RDWR|os.O_CREATE|os.O_APPEND,0666)iferr!=nil{fmt.Printf("erroropeni

戈朗 : why does the word "hello" loop 5 times while the word "world" loops only 4?

这个问题在这里已经有了答案:Nooutputfromgoroutine(3个答案)关闭7年前。packagemainimport("fmt""time")funcsay(sstring){fori:=0;i运行代码,输出为:helloworldhelloworldhelloworldhelloworldhello在前4个循环中,每100毫秒,将打印一个“hello”,然后打印一个“world”。并且在最后一个循环中只会打印一个“hello”。有没有人可以解释一下代码的执行顺序是什么?

去教程: what is the & doing in this line?

我正在做go教程,我对这个练习有疑问...https://tour.golang.org/moretypes/5我之前只在基本的C代码中简单地使用过指针和地址。我的理解是p=&Vertex{1,2}//hastype*Vertex行指向一个新变量p地址Vertex.这不是重新定义了struct的定义吗?设置X,Yint=1,2这里是教程的完整代码:packagemainimport"fmt"typeVertexstruct{X,Yint}var(v1=Vertex{1,2}//hastypeVertexv2=Vertex{X:1}//Y:0isimplicitv3=Vertex{}//

testing - 如何在 Golang 中测试日志记录(log.Println)?

如何在Golang中测试下面的代码?packagemainimport"log"funcmain(){log.Println("helloworld")} 最佳答案 您的程序写入log包标准记录器,后者写入标准错误。编译并运行你的程序,看看标准错误中出现了什么。 关于testing-如何在Golang中测试日志记录(log.Println)?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/quest