ホームページ  >  記事  >  バックエンド開発  >  Go をテストするときにパッケージ間でセットアップおよび破棄メソッドを共有するにはどうすればよいですか?

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

王林
王林転載
2024-02-15 09:50:071005ブラウズ

在测试 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 までご連絡ください。