草庐IT

API测试

全部标签

json - Go Lang RESTful API 不工作 JSON

这个问题在这里已经有了答案:Mystructuresarenotmarshallingintojson[duplicate](3个答案)关闭7年前。我正在尝试在GoLang上创建一个返回JSON值的RESTfulAPI。加载页面时,我没有在页面上获得任何值。谁能帮我解决这个问题……?typesessiondstruct{apiKeystring`json:"apiKey"`tokenstring`json:"token"`}funcdummy(whttp.ResponseWriter,r*http.Request){se:=sessiond{apiKey:key,token:"erer

go - 是否有 API 可以从阅读器读取一行,但限制返回行的长度?

原型(prototype)是:(reader*Reader)ReadLineWithMaxLength(delimbyte,maxint)(line[]byte,errerror)当找到delim或达到max长度时,它返回一行。 最佳答案 我认为没有直接的功能,但使用io.LimitReader实现一个很简单。funcReadLimitedLine(rio.Reader,delimbyte,maxint64)([]byte,error){l,err:=bufio.NewReader(io.LimitReader(r,max)).Re

go - 将顺序测试分散到 4 个 go 例程中,如果一个失败则终止所有例程

假设我有一个简单的循环来执行这样的顺序测试。forf:=1;f我循环遍历数字范围并对每个数字进行测试。如果一个数字的测试失败,我会中断并退出主线程。很简单。现在,如何在四个或几个围棋例程中正确输入测试数字。基本上,我想以4个为一组(或任何数量的go例程)测试从1到1000的数字。我是否创建4个从一个channel读取的例程并将数字按顺序输入该channel?还是我用一个单独的channel制作4个例程?还有一个问题。如果其中一个未通过测试,我该如何停止所有4个例程?我一直在阅读channel上的一些文本,但我无法将它们拼凑起来。 最佳答案

unit-testing - App Engine 本地单元测试不同实例 [GO]

我在测试单独的方法时遇到问题,每个测试用例都在不同的实例和地址上运行。我正在寻找一种方法来设置API地址,以便在同一API服务器上执行测试。我假设此警告是问题的一部分。WARNING2015-11-0418:15:25,003devappserver2.py:779]DEFAULT_VERSION_HOSTNAMEwillnotbesetcorrectlywith--port=0此命令将设置API服务器,但我不能为测试做同样的事情...dev_appserver.py.--api_port55555 最佳答案 使用aetest.Ne

Go:XML API 返回奇怪编码的字符串

我正在尝试解析来自API的XML响应,当调用fmt.Println时并传递响应主体,我得到一个奇怪的字符串:&{0xc8200e6140{00}false0xc20300xc1fd0}我已经确认我可以curlAPI并按预期获取XML。(使用PostmanChrome扩展程序发送GET请求时,我也收到了相同的响应。)这是编码问题吗?相关代码如下:typeAlbumstruct{Titlestring`xml:"album>name"`Artiststring`xml:"album>artist>name"`PlayCountuint64`xml:"album>playcount"`}co

json - 将包含动态键的 REST API 返回的 JSON 映射到 Golang 中的结构

我正在从我的Go程序调用RESTAPI,该程序在请求中获取n个酒店ID,并将它们的数据作为JSON返回。当我在请求中传递2个id,1018089108070373346和2017089208070373346时,响应如下所示:{"data":{"1018089108070373346":{"name":"ANiceHotel","success":true},"2017089208070373346":{"name":"AnotherNiceHotel","success":true}}}由于我是Golang的新手,所以我使用了一个JSONGo工具,网址为http://mholt.gi

json - 如何解析来自 AWS Go API 的响应

我正在使用以下示例程序:funcgetEnv(appNamestring,envstring){svc:=elasticbeanstalk.New(session.New(),&aws.Config{Region:aws.String("us-east-1")})params:=&elasticbeanstalk.DescribeConfigurationSettingsInput{ApplicationName:aws.String(appName),//RequiredEnvironmentName:aws.String(env),}resp,err:=svc.DescribeCo

unit-testing - 运行 Ginkgo 测试套件(在运行任何规范之前设置 BeforeSuite

我正在使用Ginkgo(和Gomega)包对Go(lang)RestAPI进行单元测试。我需要使用全局设置,这应该可以通过定义来实现var_=BeforeSuite(func(){...})然后每个规范(具体的_test.go)应该在这个全局设置之后运行。不幸的是我不能让这发生......我的套件文件名为handlers_suite_test.go我的第一个测试规范名称是cartContentsHandler_test.go.在我看来,Ginkgo按字母顺序运行测试文件,使得cartContentsHandler_test.go运行之前handlers_suite_test.go.我放

API 调用中的 JSON 解码不正确,我得到一个空白结构

我的JSON看起来像这样:{"website":{"id":8,"account_id":9,"name":"max","website_url":"","subscription_status":"trial","created_at":"2016-01-24T01:43:41.693Z","updated_at":"2016-02-21T01:17:53.129Z",}}我的网站结构如下所示:typeWebsitestruct{Idint64`json:"id"`AccountIdint64`json:"account_id"`Namestring`json:"name"`Webs

facebook - Golang Facebook Graph API 应用引擎

我正在使用huandu/facebookforGolang来访问FBAPI。https://github.com/huandu/facebook这在本地运行得非常好,但是当我尝试从GoogleAppEngine环境运行时,我无法运行它。我在本地使用了这段代码:res,err:=fb.Get("/me",fb.Params{"fields":"id,first_name,last_name,name","access_token":usertoken,})在文档(上面的链接)中,他们确实提到了AppEngine环境,但我不知道如何让它与fb.Get约定一起工作。谢谢。编辑几乎让它工作了!