Go 単体テストのパッケージ命名戦略
Go では、テスト パッケージに名前を付けるための戦略が複数あります。それぞれの長所と短所を理解することは、プロジェクトに最適な戦略を選択するのに役立ちます。
戦略分析
戦略 1:
この戦略は、テスト対象のコードと同じパッケージ内にテスト コードを配置します。これにより、エクスポートされていない識別子にアクセスできるようになり、単体テストで内部変数、関数、メソッドを検査できるようになります。ただし、テスト パッケージに *_test を追加すると、名前の不一致が生じる可能性があります。
戦略 2:
この戦略では、テスト コードを別のパッケージに配置します。これにより、テスト コードがエクスポートされた識別子のみにアクセスすることが保証され、ブラック ボックス テストが可能になります。ただし、エクスポートされていない識別子へのアクセスが制限されるため、そのようなアクセスが必要な単体テストでは不利になる可能性があります。
戦略 3:
この戦略は戦略 2 の変形であり、テスト コードがエクスポートされていない識別子にアクセスできるようにします。 「.」を使用して myfunc をインポートします。表記。これは両方の戦略の利点を組み合わせたものですが、複数のパッケージで「.」が使用されている場合、名前空間の衝突が発生する可能性があります。
どの戦略を選択しますか?
選択はテストのアプローチによって異なります:
以上が単体テストに最適な Go パッケージの命名戦略は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。