草庐IT

test_http

全部标签

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

http - Golang 网络应用程序本地化

我有一个用golang编写的网络应用程序,我计划以多种语言提供它,我查看了多个可用的l18n包,但有些事情我不清楚。哪些软件包最适合确定用户区域设置并相应地加载站点?比如浏览器偏好或位置? 最佳答案 您可以使用https://github.com/nicksnyder/go-i18n/然后在您的项目中,您必须创建一个名为i18n/的文件夹并使用如下函数:import("fmt""io/ioutil""github.com/nicksnyder/go-i18n/i18n")funcloadI18nFiles(){files,_:=io

go - 在 Go Lang 中避免 http.ResponseWriter 等类型重复

我正在学习Go并开始了一个小型网络应用程序。太棒了。但我已经掌握了最基本的知识。那么,您认为真正的Goweb应用程序的良好文档源是什么?例如,现在我有15个方法获取“http.ResponseWriter”等作为参数(我的意思是大量重复)。我想有更好的方法。但我不想以其他语言(Python、Ruby、Perl等)的确切思维方式(解决方案)开始编程Go。不是因为它是错误的,而是因为它可能是(我不知道,这就是重点)错误。这是一个例子:funcnewStudentHandler(whttp.ResponseWriter,r*http.Request){p:=studentPage{Title

angular - 从 Angular 到 GO 的 HTTP 请求 => 状态代码 :422 Unprocessable Entity

我以某种方式收到HTTP422响应:状态码:422不可处理的实体fmt.Println(c)的控制台消息是:&{{0xc04227c1c0-1200}0xc0421b21000xc042086d10[][0x8fdc000x8fe9500x97e3100x97cf80]30xc0421ea5a0map[][]}map应该填写myEmail和myPassword但事实并非如此。body有问题还是和webAPI有关?这是我的HTTP请求:this.http.post('http://localhost:8080/api/v1/users',{'email':'myEmail','passw

http - 将 mux.Walk 的结果发送到 ResponseWriter

这是我第一次编写任何golang代码并构建一个基本的webapi。我想做的是每当在"/"路径上收到请求时,我想将mux.Walk()的所有路径写到我的ResponseWriter。由于Walk函数采用匿名函数,我如何让处理程序等到所有路径都计算完毕并输入到我可以发送的数组中?如果不等待,是否有更有效的方法? 最佳答案 SincetheWalkfunctiontakesananonymousfunction,howcanImakethehandlerwaituntilallthepathsarecalculatedandentered

http - 流式传输 HTTP 客户端需要很长时间才能收到第一个响应字节

我正在尝试编写一个用于从HTTP服务器流式传输事件数据的GoHTTP客户端。我的问题是响应的第一个字节可能需要几个小时才能得到,这包括响应header。我什至可能永远得不到回应。我目前net/http:requestcanceled(Client.Timeoutexceededwhilewaitingheaders)使用这个客户端:Client=&http.Client{Transport:&http.Transport{Dial:(&net.Dialer{Timeout:0,KeepAlive:30*time.Second,}).Dial,Proxy:http.ProxyURL(pr

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

http - 注册后重定向到使用用户凭据登录?

我有一个链接/signup,如果新用户来注册,我希望它重定向到/login和用户凭据,在那里我想执行运行良好的登录操作并将用户重定向到仪表板。我卡住的地方是我无法将其重定向到使用用户凭据登录。为了存储session,我正在使用这个包:gorilla/sessions 最佳答案 从概念上讲,可能会发生两件事:要么让新用户注册,然后将他们重定向到他们必须在其中输入凭据的登录页面,或者您在用户在注册页面上创建新帐户后立即登录。在我看来,您想执行类似2.的操作,但在实现时遇到了麻烦。我不确定你是如何使用GorillaSessionAPI做到

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.