Go 没有找到银杏测试?
我不明白为什么“go”找不到我的测试文件 我的结构是这样的:Go 没有找到银杏测试?,go,ginkgo,gomega,Go,Ginkgo,Gomega,我不明白为什么“go”找不到我的测试文件 我的结构是这样的: events ├── button_not_shown_event.go ├── events_test │ └── button_not_shown_event_test.go 下面是我的按钮\u未显示\u event\u test.go的样子 package events_test import ( "fmt" . "github.com/onsi/ginkgo"
events
├── button_not_shown_event.go
├── events_test
│ └── button_not_shown_event_test.go
下面是我的按钮\u未显示\u event\u 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())
})
})
})
请注意,我专门编写了一个测试,因此它将失败
但是每次运行银杏测试时,我都会得到以下错误
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
很明显,我在这里遗漏了一些东西
有什么线索吗?你有一些问题
(t*testing.t)
另外,经过几个人的大量评论。您可能需要阅读银杏文档,以确保正确遵循其流程,以正确设置测试。转到
事件\u测试
目录并运行:
ginkgo bootstrap
这是银杏的:
要为包编写银杏测试,必须首先引导银杏
测试套件。假设您有一个名为books的包:
$ cd path/to/books
$ ginkgo bootstrap
ahillman3的建议对正常测试有效,但如果您使用银杏进行测试,则不适用。输出显示您没有要运行的测试,因此没有任何测试会失败。理由:测试应该在被测试的同一个包中。阅读文件包。你运行过银杏引导程序吗?您可以看到生成的函数类似于:
func TestEvents(t*testing.t)
?将按钮\u未显示\u事件\u测试。go
放在与按钮\u未显示\u事件相同的目录中。go
并给它相同的包名。最重要的是,在文件中放入一个实际测试,如dev.bmax解释的那样。@Viren您是否根据银杏文档完成了银杏引导程序
?OP使用的银杏与从正常的围棋测试用法,到一般的围棋语法和习惯用法,都有很大的不同。但是,我去看了银杏文档,他们仍然使用测试包。他们确实使用测试包,但只在他们提供的工具生成的存根中使用。不要将测试包导入到BDD测试文件中。他们还建议不要将测试与测试代码放在同一个包中;他们建议使用\u test
包进行黑盒测试,就像OP所做的那样。我将编辑我的答案以删除相同的包项。但是,OP使用的是go-test命令,根据我在银杏文档中读到的内容,如果没有测试包,它将无法工作。