问题标签 [gomock]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
go - gomock,去,芒果包,MongoMock
我正在尝试使用 gomock 模拟以下方法
我的界面
我收到以下错误。有人可以帮忙吗
--- 失败:TestGetS (0.00s) mongoManager_test.go:20: 缺少对 *mocks.MockMongoManager.GetS 的调用(等于 cacargroup)/Users/charles/workspace/src/bitbucket.org/tekion/tbaas /mongoManager/mongoManager_test.go:16 mongoManager_test.go:20: 由于缺少调用而中止测试失败退出状态 1
go - 如何在 go lang 中模拟 memcache 进行单元测试?
我想在 go lang 中模拟 memcache 缓存数据以避免授权我尝试使用 gomock 但无法解决,因为我没有任何接口。
尝试使用 gomock 模拟
gen mock for utils for get access controler (1) 定义一个你想模拟的接口。
(2) 使用mockgen从接口生成一个mock。(3) 在测试中使用mock:
go - 解决 gomock 导入周期
如何解决 和 之间的导入github.com/golang/mock/gomock
周期golang.org/x/net/context
?据我所知,这个循环存在于两个包之间,我不能在内部修改它们中的任何一个。
目前这些是我的进口:
这是我在运行时收到的确切错误消息withmock go test
:
go - 解决 mockgen 的导入包冲突
我有一个包冲突,我收到以下错误:
mockgen -package=mocks -source=myproto.pb.go -destination=mocks/my_mocks.go
imported package collision: "foo" imported twice
我看到一个很明显的导入:
import foo "blah/blah/foo"
但我不知道从哪里开始追踪重复导入(也不知道它来自哪里)。对我来说这似乎很奇怪,因为我正在导入 myproto.pb.go 就好了,所以我想知道是否真的存在重复导入的问题。此外,GoLand 没有显示任何问题。
我希望有人可以指出我的方向,以获取有关重复导入来自何处的更多信息,检查是否存在某些问题和/或解决该问题。
go - 如何测试一个函数在 goroutine 中被调用?
我想确保我们通过调用具有正确参数的函数来启动一个 goroutine。
例如:
当我运行这个测试时,它失败了,因为(我相信)MyMockFunc
只有在测试已经完成运行后才会被调用。
有没有办法通过调用具有正确参数的函数来测试我是否启动了 goroutine?
注意:理想情况下,我想保持传递给的参数不变MyMockFunc
(例如,不添加通道参数)。
unit-testing - 使用 Gomock 进行测试返回错误:预期调用已被调用最大次数
我正在使用 Gomock https://godoc.org/github.com/golang/mock和 mockgen
此测试的源代码是:
此源文件的测试用例在这里:
当我运行测试时,我收到以下错误:
sqs\controller.go:150:在 path_to_mocks_package/mocks/mock_messenger.go:38 处意外调用 *mocks.MockMessenger.GetMessage([]) 因为:在 path_to_sqs_package/sqs/sqs_test.go:35 处的预期调用已被调用最大次数。失败
如果我按如下方式编写自己的模拟,则测试用例将成功执行:
go - 如何处理随机输入和输出值
我有一个定义 Downloadfile 函数的包装器接口。问题是其中一个参数有一个随机的临时目录名,而输出是一个随机的临时文件名。如何使用https://github.com/golang/mock模拟它,以便测试 addFile 函数
go - 在 TestMain 中使用 testing.T
我想运行一些需要启动 GRPC 模拟服务器的测试用例。我正在gomock
为此使用库。要启动服务器,我必须将类型变量传递testing.T
给此函数 - gomock.NewController()
。由于这是对所有测试用例的一种初始化,我想在TestMain
. 但TestMain
只能访问testing.M
那么我该如何处理这种情况?在 ? 中创建一个新testing.T
结构TestMain
?它会起作用吗?
unit-testing - 如何确保所有异步函数在执行延迟之前运行
我有一个功能说
我必须为Myfunction()
. 我为此使用 go-mock 。也有嘲讽x
。
现在的问题是我的测试运行成功,但不知何故最后它惊慌失措地说,那个调用mockX.RunAsync()
丢失了。我认为这是因为在我的 RunAsync 被存根之前执行了延迟。如何确保所有 Async 函数在执行 defer 之前运行。
unit-testing - 在 Go 单元测试中使用两个不同的模拟
我正在学习第一次在 Go 中使用 mocks 进行单元测试,使用 gomock 的 mockgen 实用程序。我的单元测试工作正常,除了其中一个。被测方法有两个依赖项:一个依赖于数据库,另一个依赖于它调用 rest api 的外部服务。数据库的模拟 (mockRepo) 工作正常,因为被测方法正确调用模拟而不是实际的 repo 代码。然而,用于休息客户端的模拟继续调用实际的休息客户端,而不是模拟代码。我不知道为什么。有人可以解释原因并帮助解决吗?
这是我的单元测试:
这是 NewTestService 的代码:
将相同的模拟控制器分配给两个不同的模拟对象是否存在问题?不太确定这里发生了什么。任何帮助表示赞赏。