为什么我的测试没有失败?

时间:2017-06-27 14:24:03

标签: go ginkgo gomega

过去3小时我无法理解为什么'go'正在考虑我的测试文件为空。

这里我的结构是怎样的

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())
        })
    })
})

注意我已经专门写了一个测试,以便它失败。

但每次我都去参加测试

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

很明显,我在这里肯定会遗漏一些东西。

有任何线索吗?

2 个答案:

答案 0 :(得分:1)

你有一些问题。

  1. 您没有导入测试包。这应该在Ginkgo生成的bootstrap文件中。
  2. bootstrap文件还应包含testing.T函数作为参数。例如(t *testing.T)
  3. 看起来您在Ginkgo流程中跳过了一两步,导致先前的依赖关系不存在。例如bootstrap / stub。
  4. 此外,经过几个人的很多评论。您可能需要阅读Ginkgo文档,以确保您正确地遵循其流程以正确设置测试。

答案 1 :(得分:0)

进入 events_test 目录并运行:

ginkgo bootstrap

这是来自银杏的writing your first test docs

<块引用>

要为包编写 Ginkgo 测试,您必须首先引导一个 Ginkgo 测试套件。假设您有一个名为 books 的包:

$ cd path/to/books
$ ginkgo bootstrap

ahillman3 的建议对正常测试有效,但如果您使用 Ginkgo 进行测试,则不适用。