草庐IT

API测试

全部标签

rest - 使用 go API 在 blobstore 上上传文件

我尝试在blobstore上添加文件,我发现了一些使用go的示例,但这些是使用html模板的示例,我现在从调用我的api的react-native应用程序发送图像,以在blobstore上添加文件。那么如何使用我在go中通过r.FormFile()获取的文件在blobstore上添加文件?我找到的例子:funcsampleHandler(whttp.ResponseWriter,r*http.Request){//[STARTuploading_a_blob_2]varrootTemplate=template.Must(template.New("root").Parse(rootT

unit-testing - 使用 Gorilla MUX 对 App Engine 进行单元测试

我想为GoogleAppEngine中的处理程序编写测试,这些处理程序使用Gorillamux从请求URL读取变量。我从documentation了解到您可以创建一个虚假的上下文并请求用于测试。我在测试中直接调用处理程序,但处理程序没有按预期看到路径参数。funcTestRouter(t*testing.T){inst,_:=aetest.NewInstance(nil)//ignoringerrorforbrevitydeferinst.Close()//triedaddingthislinebecausethetestwouldnotworkwithorwithoutithttpt

go - 用于 Golang 的稳定 GCP PubSub API

我们有一个基础架构,我们使用GCPPubsub作为全局pubsub,使用redis作为本地pubsub。因此我们应该创建一个组件来订阅GCPpubsub并将传入的消息发布到redis。为了使该组件尽可能快,我们决定用Go编写它,因为:编译它在Linux上自然运行(而不是.NET)它在保持简单性的同时非常快(与C/C++相比)一切都很好,我们准备好了(双关语)但后来我看到了这个:Golang似乎没有稳定的GCPPubsubAPI。我真的可以依靠实验版本在生产中运行吗?我应该怎么做?也许Golang不是这个任务所必需的?谢谢 最佳答案

testing - 如何重写此 select 语句以保证 100% 的测试覆盖率?

这让我疯狂。假设我有以下功能:funcMap(quit对于从src接收到的每个值v,它在dst上发送f(v),直到src或quit关闭且为空或从quit接收到值。现在,假设我想编写一个测试来证明它可以被取消:funcTestMapCancel(t*testing.T){varwgsync.WaitGroupquit:=make(chanstruct{})success:=make(chanstruct{})wg.Add(3)src:=//channelprovidingarbitraryvaluesuntilquitiscloseddst:=make(chaninterface{})/

testing - 去测试特定的文件输出

我是Go的新手,正在尝试从事一个项目。代码结构如下handlers/-time.go-time_test.go我已经试过gobuild,make(project)name问题是,我想在代码中添加一些控制台输出,以便我知道分支是否被覆盖(或用于调试)。现在,它对我不起作用。如果我使用:gotest-runtest_file_path如果只是输出Pass0.009s甚至我将t.Log("printlog")甚至fmt.Print("SayHello")放在测试函数中。如果我只使用gotest-vtest_file_path我会有undefinedvariable。构建和测试将失败。有什么建

testing - Go 测试覆盖率中的 covered 和 not tracked 是什么意思?

我已经启动了一个小型Go应用程序来对其进行测试和学习。在主包中,我有一个main.go,例如一个名为NewApp的函数。在我的测试文件中,我多次调用它,但在覆盖率报告中,它的第一行被标记为“未跟踪”。此函数返回一个Appstruct,但整个结构定义被标记为“未跟踪”。另一方面,我无法理解“未覆盖”和“未跟踪”之间的区别。有没有办法测试主要功能?我看不出这样做有什么好处。我的密码是here. 最佳答案 谢谢,所以“未跟踪”它不在覆盖百分比中考虑。 关于testing-Go测试覆盖率中的co

amazon-web-services - 从api获取aws上的默认区域

有没有办法使用awsapi获取aws上的默认区域?我目前正在使用golangawssdk 最佳答案 不确定golang但在CLI中:awsconfigurelist您的帐户本身没有默认区域。默认区域特定于客户端(例如您的浏览器;当您选择一个区域时,它会保存到cookie或本地存储中)。 关于amazon-web-services-从api获取aws上的默认区域,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.

unit-testing - 在 go api 调用中测试

我想为我的api编写测试用例,例如:数据库查询失败、代码错误、响应错误等。所以我在Controller文件夹中创建了一个名为controller_test.go的文件。这是我的代码:packagecontrollersimport("net/http""testing""net/http/httptest")func(imcImessageSoundController)TestHealthCheckHandler(t*testing.T){req,err:=http.NewRequest("GET","sound/imessage_sound",nil)iferr!=nil{t.Fa

api - 无法获得 golang 中最重要的 channel 列表

我正在尝试创建一个机器人并检索channel列表。我用了botexample在存储库中,它大部分都在工作,除了必须获取channel列表的部分。要么我在做傻事,要么GetChannelsAPI确实不像bot_sample.go中描述的那样工作。我做了一个小一点的separatefunction测试那部分。在此处添加代码以提高可读性:funcmattermostPrintChannels(client*mattermost.Client){channelsResult,err:=client.GetChannels("")iferr!=nil{fmt.Print("Couldn'tget

linux - docker api ContainerExecInspect 无法获得正确的退出代码

我正在使用dockerengine-api(github.com/docker/engine-api)来执行一些命令我使用client.ContainerExecCreate,然后使用client.ContainerExecInspect来运行我的命令,然后获取命令退出代码(我在同一容器中运行多个命令,因此从ContainerInspect获取的退出代码对我来说毫无用处。)这是我用来在容器中执行命令的函数http://pastebin.com/rTNVuv9T但ContainerExecInspect有时会返回错误的值,因为有时ContainerExecInspect在命令退出之前被调