テストするソースファイルのすぐ隣(同じsrc
ディレクトリ内)にテストファイルを配置する方が簡単ですか、またはミラー階層を持つ別のtests
ディレクトリを作成する必要がありますか?
それらを同じフォルダに置くと、メンテナンスに関しては楽になりますが、ソースディレクトリが混雑します。
オプション1:ソースとテスト用に別々のフォルダーがある場合のディレクトリ構造:
- src
+-- item.ts
`-- util
+-- helper.ts
- test
+-- item.test.ts
`-- util
`-- helper.test.ts
オプション2:両方のタイプのファイルが同じディレクトリにある場合のディレクトリ構造:
- src
+-- item.ts
+-- item.test.ts
`-- util
+-- helper.ts
`-- helper.test.ts
試してみるまでは、いつもオプション1を使っていましたangular-cli
とオプション2のようにテストファイルと一緒にコードファイルを生成すると、全体を再考することができました。
オプション#2は私が行く方法です。
Angular 2つのコンポーネントについて考えるとき、それらは単一のエンティティであり、複数のファイルで構成されていると見なします。HTML/ CSSファイルを他のディレクトリに移動しないでください。コンポーネント、それでユニットテストを移動するのはなぜですか?
私はVSCodeの小さなユーティリティプラグインを作成しましたが、個人的には非常に便利です。Angular 2コンポーネントをエクスプローラビューの単一のエントリに圧縮し、アイコン/コンテキストメニューオプションを追加してテンプレート/ css /ユニットテストに追加します。これにより、コンポーネントを複数のパーツで構成される単一のユニットとして表示できます。このような方法でディレクトリを「クリーン」に保つことができます。
単体テストは、コードに加えて、コードの一部として考えることをお勧めします。あなたがそれらの上に保つことができるなら、それらは非常に役に立ちます。
私の個人的な推奨事項は、#1を使用することです。理由は次のとおりです。
これに私を信頼しないでください-などの確立されたプロジェクトを見てください