问题标签 [testify]
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 - 了解测试覆盖率
我的 Go 程序中有一个简单的包来生成哈希 ID。
我还为它编写了一个测试,但无法理解为什么我只覆盖了 83% 的语句。
下面是我的包函数代码:
下面是我的测试代码:
使用 coverprofile 运行 Go 测试会提到测试未涵盖以下部分:
有什么建议吗?
unit-testing - 具有 ORM 交互的单元测试 Go 函数
我写了一个函数:
我想对此进行单元测试。理想情况下,单元测试意味着函数的每一行都需要测试。我不确定我应该如何测试数据库连接是否打开,然后它是否显示数据库的所有内容。我应该如何测试这段代码?
此函数是简单 CRUD 应用程序的 GET 端点。代码在这里。
go - 如何使用 testify/mock 在 golang 中模拟数据库层
我正在尝试在服务器上运行单元测试,并使用“github.com/stretchr/testify/mock”来模拟数据库层。把所有代码放在这里会很乱,所以我创建了一个小项目,它会给出我的代码结构的想法以及我真正想要实现的目标“ https://github.com/utkarsh17ife/goMockPractice ”。您可以提取此代码并运行“go test ./...”(不确定在这里提供 github 链接是否正确,但我觉得这会让事情变得更容易)
服务器结构有一个字段 db 是接口类型的,所以当我们创建一个普通服务器时,为 db 分配了真实的数据库,但在测试时分配了模拟数据库。但问题是我无法在数据库上执行以下操作
由于 db 接口没有“On”和“AssertExpectations”字段。
看起来这不是实现模拟的方法,请让我知道正确的测试方法。
unit-testing - 使用 PanicsWithValue 进行 Golang 单元测试
我们正在尝试测试一个引发index out of range
错误的函数。
单元测试的代码很简单,比如:
但不幸的是,测试失败并出现一个奇怪的错误
您可以看到 panic 值和错误显示相同,但测试仍然失败。
有什么想法吗?
unit-testing - 如何测试以文件夹为输入的 HTTP 函数?
我有一个 HTTP 处理函数 (POST),它允许用户从 Web 浏览器应用程序上传文件夹。该文件夹是从 JavaScript 代码作为文件夹中的文件数组传递的,在后端(Go API)上,它被接受为[]*multipart.FileHeader
. 我正在努力为这个函数编写一个 Go 单元测试。如何将文件夹作为测试函数的输入传递?我需要帮助以httpRequest
正确的格式创建。
我尝试使用/设置数组的值FileHeader
,但不允许导入某些属性。所以必须有一种我不知道的测试这个处理程序的不同方法。
文件夹上传的处理函数:
同一处理程序的单元测试功能:
go - Testify mock 正在返回该函数尚未被调用的断言
我的测试一直失败,no actual calls happened
但我很肯定 func 被调用(这是一个日志功能,所以我在终端上看到了日志)
基本上我的代码看起来像这样:
common/utils.go
main.go
test.go
我希望这能奏效,但随后,我不断得到no actual calls happened
. 不知道我在这里做错了什么。
go - 测试用例在 gin 框架中不起作用
我已经编写了测试用例来测试 Gin-Gonic 框架中的方法,但它在运行测试用例时没有给出预期的输出。但是当我在 Postman 中使用 API 运行方法时,它工作正常。
测试用例
创建测试用例的方法
路由器
当我使用 go test -v ./... 运行测试用例时输出
在通过 API 运行时,它可以工作,但在通过测试用例运行时不能。
unit-testing - 如何只模拟接口的一种方法
我正在努力理解 Go 中的模拟(正在寻找与 Go 中的 java 等效的 Mockito.spy 相关的东西)。
假设我在 Go 中有一个带有 5 个方法的接口。但是我要测试的那段代码只引用了两种方法。现在我如何在不实现所有方法的情况下模拟这种依赖关系,即我在源代码中的实际实现实现了 5 个接口方法,但是有没有办法避免在测试文件中实现 5 个方法的虚拟接口实现。以下是我目前正在做的方式,实现5个方法是可以管理的,但是如果接口有20个方法怎么办,模拟实现测试文件中的所有方法变得乏味。
例子:
handler.go 中的源代码:
api.go 中的源代码:
测试类代码:
问题:
有没有办法只模拟我在上述情况下只需要 methodOne() 和 methodTwo() 方法,而不用担心测试中的剩余方法?如果存在,您能否建议任何其他替代方案?谢谢
unit-testing - golang 中的模拟函数用于测试
我想通过模拟其他包(package2)中的 FetchAllData() 和 SaveData() 来为 CreateData() 函数编写单元测试用例,请帮助我用示例模拟该函数,
提前致谢
我只需要模拟上面的函数而不修改函数。我在找那个
unit-testing - 错误:suite.go:61: test panicked: reflect: Call with too little input arguments
我正在设置单元测试golang
。
但是现在我在运行时遇到错误go test -v
。
我想解决这个错误并使测试成功。
现在我正在service_test.go
设置service.go
.
service_test.go
服务.go
到go
这是完整的源代码(分支:go-test-service)
https://github.com/jpskgc/article/tree/go-test-service
我期望service_test.go
成功测试。
但实际情况是它因错误而失败。
我想解决这个错误并成功测试。