フィクスチャは非常に便利です(フィクスチャは、主に単体テスト用の再利用可能な状態/サポートロジックのためのPythonコントラクトを定義しています)。 Golangにも同様のサポートがあるのだろうかと思っていましたが、テストを実行するたびにいくつかの繰り返しタスクを実行して、サーバーを設定したり、破ったり、いくつかの事前定義されたフィクスチャを使ってテストを実行したりできます。誰かがゴランで同じことをするいくつかの例を教えてもらえますか?Golangテストのフィクスチャ
6
A
答えて
6
標準のGoテストツールを使用する場合は、記号TestMain(m *testing.M)
で関数を定義し、そこにフィクスチャーコードを配置することができます。 testing package wikiから
:
これは、試験の前または後に追加のセットアップやティアダウンを行うためのテストプログラムのために必要がある場合があります。テストでは、メインスレッド上で実行されているコードを制御する必要があることもあります。テストファイルは、機能が含まれている場合、これらおよびその他のケースをサポートするために:
func TestMain(m *testing.M)
次いで、生成されたテストではなく、直接テストを実行いるTestMain(m)を呼び出します。 TestMainはメインのgoroutineで実行され、m.Runの呼び出しの回りに必要なセットアップとティアダウンが必要です。次に、m.Runの結果でos.Exitを呼び出す必要があります。 TestMainが呼び出されると、flag.Parseは実行されません。 TestMainがテストパッケージのものを含むコマンドラインフラグに依存する場合は、明示的にflag.Parseを呼び出す必要があります。
いるTestMainの単純な実装である: `BeforeEach`と` AfterEach`を有する
func TestMain(m *testing.M) { flag.Parse() os.Exit(m.Run()) }
関連する問題
- 1. Golangテストの再利用可能なコンポーネントとフィクスチャ
- 2. モカのテストとフィクスチャ
- 3. 単体テスト - データベースとフィクスチャ
- 4. Rails 3.1、フィクスチャとテストの問題
- 5. Railsテスト、フィクスチャとクラスロードの順序
- 6. テスト等価(Golang)
- 7. GolangでのAPIのテスト
- 8. GolangユニットPython関数のテスト
- 9. テスト中のフィクスチャのいくつかのパラメータを無視する
- 10. phpunitを使ったテストのための一時的なDoctrine2フィクスチャ
- 11. Fitnesseテストのフィクスチャのドキュメントを生成する方法
- 12. WatirによるRailsテスト。/test/fixturesのフィクスチャでテストDBをロードするには
- 13. テスト用データベースにオートローディング・フィクスチャの注文を決定するには
- 14. ケーキコンソールのモデルに基づいてテストとフィクスチャを生成
- 15. golangテストのブランチカバレッジを取得する
- 16. golang viant dsunitテストの設定エラー
- 17. ハイライトのフィクスチャ
- 18. RSpecのフィクスチャ
- 19. Rails 3.1プラグインジェネレータとフィクスチャはテストでは機能しません
- 20. Clojure:テストでフィクスチャを使用する方法
- 21. FitNesseテストは "クラスRunEtlFixtureはフィクスチャではありません"
- 22. py.test:フィクスチャからテストを生成する方法
- 23. リップ機能テストでフィクスチャを追加する方法(symfony 2.8)? 。
- 24. rspecでテストする前にseed_fuフィクスチャをロードするには?
- 25. ローカルファイルを使用したGolangテスト
- 26. golangは統合テストですか?
- 27. 関数を使用したGolangテスト
- 28. djangoのフィクスチャDateTimeField runtimeWarning
- 29. フィクスチャを別のフィクスチャのデコレータとして渡します。
- 30. DjangoフィクスチャとOneToOneField
チェックアウト[イチョウ(https://onsi.github.io/ginkgo)。 – PieOhPah
Thanks @ pie-o-pah – psbits