问题标签 [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 - 声明为变量的函数的 Golang 测试(作证)
我在使用 testify 触发 golang 中声明为变量的函数时遇到问题。
测试和函数都在同一个包中声明。
现在我有一个不同的文件,带有单元测试调用 testableFunction
调用 TestFunctiongo test
不会引发任何异常,但 testableFunction 实际上从未运行过。为什么?
go - golang 测试错误:在以下任何一个中都找不到包“github.com/stretchr/testify/assert”:
我的导入如下所示:
当我尝试运行“go test”时,我收到错误消息:
所以看起来最后一行是问题所在,它在.../lib/briteverify 中说它找不到 github.com/stretchr/testify/assert。但是,我将此作为导入,所以我不知道为什么它会抛出此错误。有什么想法吗?
testing - 有没有办法用 testify 链接断言?
我真的很喜欢作证带来的东西go test
。但是,我翻阅了文档,没有看到有关如何处理多个断言的任何内容。
Go 是否处理“第一次失败”,即它在第一个错误断言时失败,还是只关心测试方法中的最后一个断言?
unit-testing - 在 Go 中进行单元测试时,是否可以动态断言两个值是否相等?
我刚开始使用 Go。我正在编写单元测试,我希望能够使用表格进行测试,其中要与实际结果进行比较的结果有时应该或不应该相等。
例如,这是我目前拥有的代码:
现在,这还不错,但如果最后一位可以更改为像这样更清晰的东西以获得更好的可读性,那就更好了:
因此,如果 和 相等,则第一个测试应该通过table.comparisonResult
,如果两者不actualResult
相等,则第二个测试应该通过。
我浏览了testify/assert
文档,我认为我没有找到类似于EqualOrNotEqual
我上面编写的假函数的函数,但也许我不小心跳过了一些东西,或者我没有某种 Go 特殊语法'不知道这可能有助于我实现这一目标。
注意:我很清楚我可以为此编写自己的函数。我问的原因是因为如果这是一个完善的模式,那么包/库通常将其作为内置函数包含在文档中,有时可能没有记录/埋在文档中。如果没有,也许我不应该这样做是有原因的,或者也许有更好的方法。开始使用一门新语言一开始是非常费力的,尤其是因为你必须学习所有新的习语和怪癖以及做事的正确方法。
go - AssertCalled 总是因 testify 库而失败
我正在使用 testify 来测试我的代码,并且我想检查是否调用了一个函数。
我正在执行以下操作:
我得到的错误:
我调用函数“Bar”并立即询问它是否被调用但它返回 false。我究竟做错了什么?测试是否使用 testify 调用函数的正确方法是什么?
go - InDelta 和 InEpsilon 的区别
从文档:
https://godoc.org/github.com/stretchr/testify/assert#InDelta
InDelta 断言这两个数字在彼此的 delta 范围内
https://godoc.org/github.com/stretchr/testify/assert#InEpsilon
InEpsilon 断言预期和实际的相对误差小于 epsilon
他们的代码在目的上似乎是相同的:
有什么不同?有哪些用例可以将一个用于另一个,反之亦然?
testing - 带有 testify mock 的表驱动测试
是否有任何使用 testify 编写干净表驱动测试的示例。输入和预期输出的表驱动测试效果很好,但必须测试依赖项的输出似乎真的很难做到。
下面的示例使用一个模拟接口,并要求我编写一个全新的测试函数来验证被测函数是否正确处理依赖错误。我只是在寻找建议,以使使用 testify 模拟包更简化编写单元测试。
unit-testing - 如何在golang的for循环中模拟相同的输入和不同的返回值
我正在使用 go lang 测试在 for 循环中运行具有多个参数的测试。
我遇到了每次调用模拟时都返回相同的返回值(和第一个集合)的情况。我想要做的是在输入相同时更改每个测试的返回值,即在循环中相同On
但不同。Return
我正在使用stretchr/testify 进行模拟。看起来它不会在相On
同时覆盖已经创建的模拟。
unit-testing - 如何验证是否在单独的 go 例程中调用了方法
在为 go 中的方法编写单元测试时,我被一个问题难住了。首先,被测代码片段:
可以模拟实体。在 saveAudit 方法中,Entity.Save 方法被调用。在我的 UT 中,我想断言 Entity.Save 方法被调用一次。以下是我目前的 UT:
这给出了错误消息:预期调用次数 (1) 与实际调用次数 (0) 不匹配,因为实际调用发生在另一个 go 例程中。我该如何测试呢?
unit-testing - Error `The code you are testing needs to make 1 more call(s)` in testify package
I am using the testify package for the unit testing in golang. My code contains mocking. while running the test it is getting passed for sometimes and showing error The code you are testing needs to make 1 more call(s)
for sometimes, I am unable to figure out the reason why is this happening:
I went through this https://github.com/stretchr/testify/issues/31 but did get what is the problem and how it can be solved?