问题标签 [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.

0 投票
1 回答
130 浏览

go - 使用 testify 为 Gin API 编写测试会导致 404 HTTP 响应代码

我尝试使用testify为我的Gin API编写测试。

不幸的是,它在测试中以意外的 HTTP404响应代码进行响应。

当我执行程序时,我可以通过 curl 和浏览器到达相应的界面。

为什么我的测试失败了?

测试代码:

0 投票
1 回答
861 浏览

unit-testing - 去 assert.Equal 一些接口与 time.Time 里面的对象

我正在尝试检查返回的数据是否等于预期

这是我的功能:

这是我为它编写的单元测试:

测试失败,它输出:

我相信问题出在TimeZone,但我很难编写测试代码。

我不想使用 测试它time.Equal,因为 mydata.Body并不总是包含该eventTime元素。

我试过(通过临时使用类型而不是接口):

它有效。

我也试过:

上面的代码失败了。

0 投票
0 回答
41 浏览

go - 使用 testify mock 返回指针的测试函数

我想测试这个功能

当我像这样使用作证模拟时

我得到这样的错误 panic: interface conversion: interface {} is nil, not *MyObj[recovered] panic: interface conversion: interface {} is nil, not *MyObj

0 投票
2 回答
63 浏览

unit-testing - 使用 testify 检查结构中字段的动态值

我有一个user service验证用户数据并对其进行格式化的方法,然后调用 Firebase 服务,该服务创建一个 firebase 用户并返回 firebase id,然后将该用户数据传递给repository层。我的用户结构有一个字段 在传递到层之前IDuuidin填充。我正在使用. 但是测试失败了,因为它是由服务层填充的,我无法将它传递给模拟函数使用的用户数据。user servicerepositorystrecher/testifyIDID

服务层代码

}

测试代码

测试时出错

有什么方法可以检查动态创建的 uuid 或忽略测试中结构中的值?

0 投票
1 回答
24 浏览

unit-testing - 在另一个方法1中调用的接口的模拟方法2

我正在为Method1()

我想模拟从同一接口Method2()调用的那个。Method1()

我们可以通过在结构中采用该模拟实现来轻松模拟另一个接口的方法。但我不确定如何模拟相同接口的方法。

0 投票
0 回答
36 浏览

go - 如何在使用 testify 的测试中添加钩子(测试方法之后/之前)?

我想在每次测试完成后进行数据清理和执行后数据。根据我的文件夹结构,所有 *_test.go 文件都位于特定目录中。在项目级别,我创建了 customsuites/customsuite.go 文件。下面是我的文件夹结构。

我在将 CustomTestSuite 结构导入测试时遇到问题,有没有办法将测试方法之前/之后分别保存在不同的包中?

customtestsuite.go

testsuite_test.go

计算器_test.go

0 投票
1 回答
84 浏览

go - 运行 http.ListenAndServe() On Tests using stretchr/testify suite Stop Test From Proceed

我正在尝试为我使用gorilla/muxgorm.iogolang-migrate/v4制作的 REST API 应用程序创建集成测试

对于我正在使用的测试testify

SetupSuite()的我integration_Test.go是这样的:

而我router.HandleRequests()的是这样的:

问题是:如果我router.HandleRequests()从 中删除SetupSuite(),我所有的数据库测试都会正常运行,但是如果我尝试http.ListenAndServe()停止测试工作流并且什​​么也没有发生。

我相信我应该使用 goroutinesrouter.HandleRequests()以便它可以与测试并行运行,我只是不知道该怎么做。

有关更多信息,这里是项目存储库,我不知道它是否相关,但我正在运行两个 postgres 实例docker-compose,一个用于运行项目,另一个用于测试。