草庐IT

web-api-testing

全部标签

unit-testing - 创建模拟函数

您好,我想测试或模拟某个函数并为此返回模拟响应。下面演示的是我的代码示例.gopackagemainimport("fmt"log"github.com/sirupsen/logrus")varconnectDB=ConnectfuncSample(){config:=NewConfig()response:=connectDB(config)fmt.Println(response)log.Info(response)}funcConnect(config*Config)string{return"Insidetheconnect"}我的测试是这样的Sample_test.gopac

go - 为特定包运行 go test

我使用以下命令对特定包运行测试去测试fts-runrun_test.gocan'tloadpackage:packagefts:cannotfindpackage"fts"inanyof:/usr/local/Cellar/go/1.11.1/libexec/src/integration(from$GOROOT)/Users/i055555/go/src/fts(from$GOPATH)包裹看起来像gitproj/|----fts|-----command|-----run.go|-----run_test.go|----internal|-----fs.go|-----tb.go|

unit-testing - 当A的方法在Go中返回B时模拟对象A和B

我正在尝试在Go中为现有服务实现单元测试,该服务使用连接池结构和来自现有库的连接结构(调用这些LibraryPool和LibraryConnection)连接到外部服务。为了使用这些,主代码中的服务函数使用池的一个唯一的全局实例,它有一个GetConnection()方法,如下所示://CurrentMainCodevarpoolLibraryPool//global,instantiatedinmain()funcsomeServiceFunction(whttp.ResponseWriter,r*http.Request){//readrequest//...conn:=pool.

go - "go test"和 "bazel test"中的不同文件权限错误

如果一个测试想要断言文件权限错误,例如,写入文件系统的根目录,“gotest”返回一个syscall.EACCES错误,而“bazeltest”返回一个系统调用.EPERM。如何让“bazeltest”和“gotest”都通过测试?可以找到一个例子here. 最佳答案 您可以使用bazel--spawn_strategy=standalonetest//...禁用沙箱。我怀疑这会解决这个问题。但是,您可能需要考虑写入/是否是您要测试的行为。如果您需要在不同的操作系统或Docker容器内运行代码,在这种情况下您将获得不同的行为,因此您

unit-testing - 如何修复测试用例中的 "missing type in composite literal"

我正在尝试为函数ReadField()编写测试代码,但我在定义测试用例时遇到了困难。它给出了一个错误“复合文字中缺少类型”。我相信这只是一些语法错误。我已经尝试在函数体之外定义结构体,但它仍然会给出相同的错误。ReadField(string,string,bool)(bool,string)funcTestReadField(t*testing.T){testCases:=[]struct{NamestringInputstruct{FirstStringstringSecondStringstringSomeBoolbool}Expectedstruct{IsValidboolMe

unit-testing - 优步 Cadence : How do I assert the call to workflow. sleep ()?

在我的单元测试中,我想断言调用了workflow.Sleep()。我该怎么做? 最佳答案 可以使用TestWorkflowEnvironment.Now()函数访问模拟时间。例如:before:=testenv.Now()testenv.ExecuteWorkflow(...)after:=testenv.Now()然后断言before和after之间的变化。 关于unit-testing-优步Cadence:HowdoIassertthecalltoworkflow.sleep()?,

rest - 从 go 代码调用用 java 编写的 rest API

我是Golang的新手。我正在编写一个go客户端,我试图在其中调用服务器中的一堆RESTAPI该用例应使用哪些其余客户端/库谢谢! 最佳答案 Golang带有原生的"net/http"包,您可以使用它来请求RESTAPI 关于rest-从go代码调用用java编写的restAPI,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/56019549/

go - 我有一张用户表。我想编写一个 API 来使用 id 获取数据。我不断收到以下错误。请注意,数据库已经满了

我有一张用户表。我想编写一个API来使用id获取数据。我不断收到以下错误。请注意,数据库已经满了。我想创建一个获取api,我在其中传递id并作为结果获取该行。我已经尝试了一些事情,但我一直收到此错误。数据库架构-deadpool=#\duser_dataTable"public.user_data"Column|Type|Collation|Nullable|Default--------------------+--------------------------+-----------+----------+-------------------------------------

api - GoLang/Mux 语法问题 : if ID, Ok = mux.Vars(r) ["ID"]; !行

我是Golang的新手,我正在阅读某人使用gorilla/mux编写的API代码,我遇到了这段代码。funcheroGet(whttp.ResponseWriter,r*http.Request){varIDstringvarOkboolifID,Ok=mux.Vars(r)["ID"];!Ok{//dosomething}我无法理解Ok在这种特定情况下的作用以及何时触发!Ok。请注意,此函数是GET端点。(r.HandleFunc("/hero/{ID}",heroGet).Methods("GET")) 最佳答案 我假设您使用的

go - 如何优化向 API 发出请求的 for 循环?

关闭。这个问题需要更多focused.它目前不接受答案。想改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭3年前。Improvethisquestion我的Go代码中有一个for循环。每次迭代都会向某个API发出请求,然后将其结果保存在map中。如何优化性能以便异步调用迭代?我目前正在研究goroutines和channel等等,但我仍然无法在野外应用它:)results:=map[string]ResultforID,person:=rangepeople{result:=someApiCall(person)results[ID]=result}//