草庐IT

mongo-test

全部标签

unit-testing - Golang 模拟函数被调用两次

我正在编写用于测试main.go的单元测试,并在函数内部调用Get函数(DeviceRepo.Get())两次,然后我想模拟返回不同的Get函数,但我可以在第一次模拟时模拟它调用了,所以我不知道如何在第二次模拟Get函数?main.go:typeDeviceInterfaceinterface{}typeDeviceStructstruct{}varDeviceReporepositories.DeviceRepoInterface=&repositories.DeviceRepoStruct{}func(d*DeviceStruct)CheckDevice(familynamestr

unit-testing - 如何测试创建和注入(inject)依赖项的函数

我的问题是您如何决定在何处注入(inject)依赖项,以及如何测试首次将依赖项注入(inject)函数的函数?例如,我正在重构一些Go代码以使用依赖注入(inject),目的是让代码更易于测试。这是我重构后的代码的样子:typeFooIfaceinterface{FooFunc()}typeFoostruct{}func(f*Foo)FooFunc(){//SomefunctionIwouldliketostub}funcmain(){OuterFunction()}funcOuterFunction(){fooVar:=&Foo{}InnerFunction(fooVar)//Oth

unit-testing - 如何测试创建和注入(inject)依赖项的函数

我的问题是您如何决定在何处注入(inject)依赖项,以及如何测试首次将依赖项注入(inject)函数的函数?例如,我正在重构一些Go代码以使用依赖注入(inject),目的是让代码更易于测试。这是我重构后的代码的样子:typeFooIfaceinterface{FooFunc()}typeFoostruct{}func(f*Foo)FooFunc(){//SomefunctionIwouldliketostub}funcmain(){OuterFunction()}funcOuterFunction(){fooVar:=&Foo{}InnerFunction(fooVar)//Oth

unit-testing - 如何在排除某些文件的情况下测试包?

这个问题在这里已经有了答案:HowtoignoregeneratedfilesfromGotestcoverage(4个答案)关闭4年前。我的文件夹结构有点像这样。├──executor|├──executor_test.go||──executor.go||--excutor_mock.go||--errors.go||--app.go├──_includes|├──xyz.go|└──abc.go├──vendorexecutor_test.go包含executor.go的所有单元测试用例。因此,当我运行gotest--cover./...时,它向我展示了覆盖率包,这很好,但我也想

unit-testing - 如何在排除某些文件的情况下测试包?

这个问题在这里已经有了答案:HowtoignoregeneratedfilesfromGotestcoverage(4个答案)关闭4年前。我的文件夹结构有点像这样。├──executor|├──executor_test.go||──executor.go||--excutor_mock.go||--errors.go||--app.go├──_includes|├──xyz.go|└──abc.go├──vendorexecutor_test.go包含executor.go的所有单元测试用例。因此,当我运行gotest--cover./...时,它向我展示了覆盖率包,这很好,但我也想

testing - 如何对项目中除 vendor 包之外的所有测试文件运行 go test

我的项目文件夹包含:MakefileREADME.mdcomponent/driver/service/vendor/worker/我想对所有测试文件运行gotest,例如foobar_test.go文件,vendor包中的测试文件除外。我最接近成功的是gotest./...但其中包括vendor测试文件。我在文档中看到您可以将正则表达式传递给-run选项,但我无法让它正常工作。例如,我尝试了gotest./*,但我得到了一堆can'tloadpackageerrors。执行此操作的最佳方法是什么? 最佳答案 -run模式只匹配测试

testing - 如何对项目中除 vendor 包之外的所有测试文件运行 go test

我的项目文件夹包含:MakefileREADME.mdcomponent/driver/service/vendor/worker/我想对所有测试文件运行gotest,例如foobar_test.go文件,vendor包中的测试文件除外。我最接近成功的是gotest./...但其中包括vendor测试文件。我在文档中看到您可以将正则表达式传递给-run选项,但我无法让它正常工作。例如,我尝试了gotest./*,但我得到了一堆can'tloadpackageerrors。执行此操作的最佳方法是什么? 最佳答案 -run模式只匹配测试

mongodb - 如何在golang中编写bson形式的mongo查询?

我可以查询我的mongodb集合,以使用命令行查询基于nfType和最小距离获取ipv4Addressesdb.nfinstancesdb.aggregate([{"$match":{"nfType":"AMF"}},{"$unwind":"$ipv4Addresses"},{$group:{"_id":"$distance","ipv4Addresses":{"$addToSet":"$ipv4Addresses"}}},{"$sort":{"_id":1}},{"$limit":1}])这给出了我期望的输出[{"_id":10,"ipv4Addresses":["172.16.0.

mongodb - 如何在golang中编写bson形式的mongo查询?

我可以查询我的mongodb集合,以使用命令行查询基于nfType和最小距离获取ipv4Addressesdb.nfinstancesdb.aggregate([{"$match":{"nfType":"AMF"}},{"$unwind":"$ipv4Addresses"},{$group:{"_id":"$distance","ipv4Addresses":{"$addToSet":"$ipv4Addresses"}}},{"$sort":{"_id":1}},{"$limit":1}])这给出了我期望的输出[{"_id":10,"ipv4Addresses":["172.16.0.

json - 使用 Golang 格式化 xml 数据以存储到 Mongo 集合中

需要读取大型xml文件并将其格式化并存储在mongo集合中。从下面看哪个是最好的方法读取大型xml文件并格式化后直接存入mongodb集合。读取大型xml文件并将其转换为json并将其存储在mongodb集合中。 最佳答案 在上述两个选项中,最好的方法是只读取XML文件并将其存储到MongoDB集合中。这是因为MongoDB不以JSON格式存储数据,而是以BinaryJSON(BSON)格式存储数据。.您可以使用encoding/xml编写一个简单的脚本库读取XML文件,然后编码为mongo-driver/bson插入到MongoD