私はGolangを使いはじめ、最初のテストスイートを作成しています。Golangテストの再利用可能なコンポーネントとフィクスチャ
私は、テストツール(Rspec、Cucumberなど)のための素晴らしいサポートを持っているRailsの背景を持っています。私は同様の考え方でゴーランテストに近づいています。
私はUser
というデータモデル(基本的に構造体)を持っています。これは、postgresのusers
テーブルからレコードを読み込み、その配列を格納します。 (基本的にはActiveRecordはRailsの世界で何をするかの本当に簡単バージョン)
私はルーチンが正しくDBから読み込んで、モデルを構築するかどうかを確認するテストを書きたいと思います。私はDBに接続されますほぼすべてのテストスイートで
ので、私は
establish_db_connection
という名前のヘルパーを持っています。すべてのテストで一元的に利用できるように、この場所をどこに置くことができますか?ビルドオフ#1 - すべてのテストの前に接続を確立することができる
before
ブロックまたはセットアップ/ティアダウンメソッドの同等物はありますか?最後に、どのように私は器具を扱うのですか?各テストの直前に、私は
clear_db
関数を呼び出してすべてのテーブルをリセットし、いくつかの静的データ行を挿入します。私はフィクスチャーから離れ、必要に応じて工場を使用してデータを構築したい(RailsのFactoryGirl
に非常に似ています)が、Golangの一般的な方法はわかりません。内蔵
go test
枠組み最善のアプローチです、またはより良い代替手段がありますか?
パイの答えのフォローアップは、複数のパッケージのテスト全体でヘルパーを使用する必要がある場合、あなたは 'testfixtures'パッケージを作ることができます – Plato