Go をテストするときにパッケージ間でセットアップおよび破棄メソッドを共有するにはどうすればよいですか?

王林
リリース: 2024-02-15 09:50:07
転載
1040 人が閲覧しました

在测试 Go 时如何跨包共享设置和拆卸方法?

パッケージ間でセットアップ メソッドとティアダウン メソッドを共有することは、Go をテストする際の一般的な問題です。そんな疑問にPHPエディターのゆざいがお答えします。 Go 言語では、「flag」パッケージを使用してコマンドラインパラメータを設定および取得できます。テスト ファイルで `flag.Parse()` 関数を使用すると、コマンド ライン パラメータを解析して、対応する変数に設定できます。共有設定が必要なテスト シナリオの場合、グローバル変数をテスト ファイルに設定し、各テスト関数で使用できます。テストが完了したら、`TestMain`関数で逆アセンブルし、元の設定状態に戻すことができます。これにより、パッケージ全体でセットアップおよび破棄方法を共有できるようになります。

質問の内容

2 つのパッケージ foobar があるとします。各パッケージにはファイルとテスト ファイルがあります:

リーリー

次に、これら 2 つのテスト (widget_test.go と wingding_test.go) について、いくつかのセットアップ コードを共有したいと思います。このコードを main_test.go 内のすべてのパッケージに配置できることはわかっています。ただし、コードを 2 か所にコピー/ペーストする必要はありません。では、パッケージ間で共有できるようにするには、このコードをどこに配置すればよいでしょうか?

回避策

テスト baz にインポートされた別のパッケージ foo および bar にそれを入れます。これをテストでのデータベースのセットアップと分解コードに使用します。

以上がGo をテストするときにパッケージ間でセットアップおよび破棄メソッドを共有するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:stackoverflow.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート