【发布时间】:2021-09-12 10:31:05
【问题描述】:
我不明白为什么 'go' 找不到我的 Ginkgo 测试文件
这是我的结构的外观:
events
├── button_not_shown_event.go
├── events_test
│ └── button_not_shown_event_test.go
这里是我的button_not_shown_event_test.go 的样子
package events_test
import (
"fmt"
. "github.com/onsi/ginkgo"
. "github.com/onsi/gomega"
)
var _ = Describe("ButtonNotShownEvent", func() {
BeforeEach(func() {
Expect(false).To(BeTrue())
})
Context("ButtonNotShownEvent.GET()", func() {
It("should not return a JSONify string", func() {
Expect(true).To(BeFalse())
})
})
})
请注意,我专门编写了一个测试,因此它会失败。
但每次运行 Ginkgo 测试时都会出现以下错误
go test ./app/events/events_test/button_not_shown_event_test.go -v
testing: warning: no tests to run
PASS
ok command-line-arguments 1.027s
很明显,我在这里遗漏了一些东西。
有什么线索吗?
【问题讨论】:
-
输出表明您没有要运行的测试,因此没有任何失败。推理:Why does
go test -run NotExistpass? 测试应该在被测试的同一个包中。阅读testing的包文档。 -
你运行过银杏引导程序吗?你能看到生成的函数类似于:
func TestEvents(t *testing.T)吗? -
将
button_not_shown_event_test.go与button_not_shown_event.go放在同一个目录中,并赋予它相同的包名。 -
然后像 dev.bmax 解释的那样在文件中进行实际测试。
-
@Viren 你根据 Ginkgo 文档完成了
ginkgo bootstrap吗?