问题标签 [ginkgo]

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 投票
2 回答
2729 浏览

unit-testing - Gomega 的 Equal() 可以处理多个值吗?

我正在测试一个使用 gomega 向服务器发送模拟请求的函数,我想验证 1. 请求已经开始 2. 请求已经完成。为此,我返回两个布尔值。在下面的示例中,它们都应评估为 true,但值可能会发生变化。我试过这个:

但似乎 gomega'sEqual()不处理多个变量。有没有办法解决?评估两个返回值是不好的做法吗?

0 投票
1 回答
175 浏览

go - 如何使用 gopkg 安装 ginkgo 和 gomega?

我正在尝试使用gopkg安装ginkgogomega。它抛出以下错误:

0 投票
2 回答
619 浏览

go - 银杏包装检测

我正在为全新的 go 应用程序实施测试套件,并决定使用ginkgo。该应用程序具有主要功能和几个包

ginkgo bootstrap在每个包文件夹中运行并使用ginkgo generate. 现在我可以分别为每个包运行测试,即
cd server_pkg; ginkgo

问题是:如何配置我的应用程序以使用单个命令运行主要功能和包的所有测试?

我可以链接命令ginkgo; cd server_pkg; ginkgo ...,但它看起来不是一个好的解决方案。

0 投票
1 回答
889 浏览

go - 银杏跳过规格被视为失败

我使用 Ginkgo 已经有一段时间了,但我发现了一种我不太了解的行为。我有一组规范,当且仅当条件可用时,我才想运行它们。如果条件不可用,我想跳过测试套件。

像这样的东西:

当套件被跳过时,这被视为失败。

我认为应该考虑跳过一项测试。我错过了什么吗?欢迎任何意见。

纳克斯

0 投票
1 回答
528 浏览

go - 银杏到 cobertura 和 JUnit

我使用 Shippable 作为我的 CI,我的项目基于 Go 1.11。所有的单元测试都是使用 Ginkgo 和 Gomega 以 BDD 风格编写的。在我的测试管道中,我有类似的东西:

这将创建 Cobertura 格式的覆盖文件和 JUnit 格式的单元测试报告。

在我的项目中,我们有多个测试套件。我打算使用 Ginkgo CLI 来执行覆盖和单元测试,而gocov不是go test. 就像是:

现在的问题是我无法将coverage.txt 文件转换为等效的Cobertura 格式XML 文件(可交付需要)和unit.txt 文件到等效的JUnit XML 文件。

我已经看到如何从测试套件生成 JUnit 文件,但在我的项目中,我们有多个测试套件,这将导致多个 JUnit 文件,这是我不想要的。

任何想法,我怎样才能转换和使用它们?

0 投票
0 回答
239 浏览

go - 如何使用 Ginkgo 和 Gomega 匹配私有结构类型?

假设我有一个GetQueue用 GoLang 调用的函数并且取决于配置,它将返回不同类型的队列实现。

service.Queue一个接口。两者QueueAQueueB都是这个接口的实现。QueueA.go 看起来像:

我想为该GetQueue函数(在包外部定义service)编写一个单元测试,并且我想验证返回的类型是否符合预期。但是,两者QueueA.sevice都是QueueB.service私有结构。那么如何验证返回的类型是预期的类型呢?

0 投票
1 回答
167 浏览

go - 向 Ginkgo 测试套件发送 SIGTERM 时出现误报

在使用 Ginkgo 框架编写测试时,我注意到按 Cc 终止正在运行的套件会产生误报。

注意绿色的“1 Passed”

当您查看代码时,您会注意到此测试应在 5 秒后失败。当我在 2 秒后终止它时,套件失败,但在结果中,有 1 个通过测试,0 个失败。

Debian Stretch 和 Ubuntu 18.04 上的 go 版本 1.11.4 和 1.12.4 的行为相同。

套件代码(使用自动生成ginkgo bootstrap):

测试代码:

测试运行 5 秒时的输出(正确一个):

测试在完成之前终止时的输出(误报):

我希望输出类似于: FAIL! -- 0 Passed | 1 Failed | 0 Pending | 0 Skipped 或 1 已跳过或挂起,但并不是Passed特别是测试被写入失败。

实际输出表明失败,但所有测试...都通过了: FAIL! -- 1 Passed | 0 Failed | 0 Pending | 0 Skipped

我错过了什么吗?

0 投票
1 回答
505 浏览

go - 银杏清理失败

我正在用 Ginkgo 编写测试规范。

我的测试具有以下结构:

我的问题是,断言失败时如何执行清理。如果我为此目的使用 afterEach 块,那么它会对所有测试规范执行相同的清理,这会显示一堆清理消息失败。

用银杏清理失败的推荐方法是什么。

0 投票
0 回答
202 浏览

go - 将多个测试数据传递给 ginkgo test.go 文件

我有如下测试方法:

如何使用不同的测试数据测试功能?

0 投票
0 回答
107 浏览

testing - 我们是否可以使用控制台输入或任何文件格式的测试数据运行银杏测试用例?

我需要通过控制台或任何文件格式将用户数据传递给银杏测试方法。让我知道方法。

我正在研究表驱动测试,但我正在寻找位于测试用例/脚本之外的测试数据。感谢您分享详细信息。我能理解你的说法,但如果能获得一些示例代码来继续,那就太好了,这是可用的。

请查找样品测试方法: