151得票7回答
在Go语言中分离单元测试和集成测试

在GoLang(testify)中,是否有一种已经建立的最佳实践来区分单元测试和集成测试?我有混合使用的单元测试(不依赖任何外部资源,因此运行速度很快)和集成测试(依赖于外部资源,因此运行速度较慢)。因此,我想能够控制在说“go test”时是否包含集成测试。 最直接的技术似乎是在main中...

54得票5回答
使用gorilla/mux URL参数的函数的单元测试

简述:gorilla/mux 曾经不支持设置 URL 变量,现在已经可以了,所以长时间以来得票第二高的答案是正确的。 下面是原始问题: 我想做的是: main.go package main import ( "fmt" "net/http" "...

33得票2回答
如何在golang中使用for循环模拟相同输入和不同返回值

我正在使用Go语言测试进行多参数测试,使用for循环。然而,我遇到了一个问题:每次调用模拟函数时,都会返回相同的返回值(和第一组)。我希望能够在循环中为每个测试更改返回值,即使输入相同,也可以有不同的Return。我使用stretchr/testify进行模拟。看起来它不会覆盖已创建的模拟,当...

16得票2回答
我可以。您是否可以在测试套件中运行单个测试?

我已经为我的结构设置了一个测试套件 (https://github.com/stretchr/testify#suite-package)。在能够仅通过指定模式运行单个测试之前:go test -v ./services/gateways/... -run mytest 这种方法在转换后无效。...

14得票1回答
Golang测试错误:在任何地方都找不到软件包“github.com/stretchr/testify/assert”。

我的导入代码如下:import ( "testing" "github.com/stretchr/testify/assert" ) 当我尝试运行'go test'时,我收到了错误消息:cannot find package "github.com/stretchr/testify/asse...

14得票4回答
错误: suite.go:61: 测试出现恐慌:反射:使用的输入参数过少

我正在golang中设置单元测试。 但是在运行go test -v时,我遇到了错误。 我想要解决这个错误并使测试成功。 article ├ client ├ api │ ├ main.go │ ├ contoroller │ │ ├ contoroller.g...

10得票4回答
使用testify库时,AssertCalled总是失败

我正在使用testify来测试我的代码,我想检查一个函数是否被调用。 我正在执行以下操作: type Foo struct { mock.Mock } func (m Foo) Bar() { } func TestFoo(t *testing.T) { m := F...

8得票1回答
如何使用testify断言模拟方法调用按顺序发生?

AssertExpectations 的文档说:“AssertExpectations 断言使用 On 和 Return 指定的所有内容都按预期被调用。可以按任意顺序发生调用。”如果我想断言某些调用是有序的呢? gomock 有 *Call.After(*Call) 来实现这一点,但我在...

7得票1回答
InDelta和InEpsilon的区别

来自文档: https://godoc.org/github.com/stretchr/testify/assert#InDelta InDelta断言两个数字互相之间的差异在给定的delta范围内 https://godoc.org/github.com/stretchr/test...

7得票1回答
如何使用stretchr/testify/mock中的AssertCalled进行部分匹配断言?

考虑这个Go语言的单元测试文件。我正在使用 github.com/stretchr/testify/mock 包。 type Person struct {Name string; Age int} type Doer struct { mock.Mock } func (d *Doer)...