2017-06-27 9 views
-2

過去3時間私はテストファイルが空であると思っている理由を理解できません。私のテストはなぜ失敗しないのですか?

ここに私の構造は

events 
├── button_not_shown_event.go 
├── events_test 
│ └── 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()) 
     }) 
    }) 
}) 

お知らせのように私のbutton_not_shown_event_test.go見てどのように見えますか。

しかし、私は実行するたびに、外出先テスト

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 

だから明らかに私はここの上に欠けている何かが間違いなくあります。

ヒント?

+3

出力には実行するテストがないため、何も失敗することはありません。推論:[なぜテストが実行され、NotExistが通過するのですか?](https://stackoverflow.com/questions/38463609/why-does-go-test-run-notexist-pass/38466246#38466246)同じパッケージがテストされています。 [testing](https://golang.org/pkg/testing/)のパッケージドキュメントを読んでください。 – icza

+1

イチョウのブートストラップを使いましたか?生成された関数は 'func TestEvents(t * testing.T)'のように見えますか? –

+0

'button_not_shown_event_test.go'を' button_not_shown_event.go'と同じディレクトリに置き、同じパッケージ名を付けてください。 – RickyA

答えて

1

あなたはいくつか問題があります。

  1. あなたはテストパッケージをインポートしていません。これはGinkgoによって生成されたブートストラップファイルにあるべきです。
  2. ブートストラップファイルには、パラメータとしてtesting.T関数も含める必要があります。例えば(t *testing.T)
  3. Ginkgoプロセスで1つまたは2つのスキップをスキップしたため、以前の依存関係が存在しないようです。例えばブートストラップ/スタブ

さらに、数人のコメントの後に。イチョウの文書を読んで、テストを適切に行うためにプロセスを正しく実行していることを確認する必要があります。

+0

OPは通常のゴーテストの使用法から逸脱したイチョウを使用しています。 – Adrian

+0

真。しかし、私は行って、イチョウのドキュメントを見て、彼らはまだテストパッケージを使用しています。 – ahillman3

+0

彼らはテストパッケージを使用しますが、提供するツールで生成されたスタブでのみ使用します。テストパッケージをイチョウのBDDテストファイルにインポートしません。 – Adrian

関連する問題