2017-05-06 6 views
2

私はrar、zip、7zipなどのアーカイブを展開するモジュールをjavaでビルドします。 私はすべてのケースでこのモジュールのユニットテストを書きたい: ファイルの抽出方法をテストするには

  • アーカイブはいくつかのファイルフォルダとファイル
  • 大アーカイブと
  • アーカイブを単一のファイルと

    • アーカイブ

    私はすべてのケースに対してテストファイルを作成し、テストリソースに追加しました。私のプロジェクトは本当に重いです(大きなアーカイブの抽出をテストするアーカイブのサイズは1 GBです)。

    私のチームはvcsとしてgitで動作するので、gitにすべてのテストリソース(1GB)をアップロードする必要があります。すべてのテストに合格する必要がある場合は、

    このテストにはより良い解決策があります。または、私はgitにすべてのテストリソースをアップロードし、私の小さなモジュールを巨大なものにする必要がありますか?

  • +0

    テストアーカイブを小さくすることを検討しましたか?確かに100Kbのアーカイブファイルを作ることは可能です...? –

    +0

    @ErnestKiweleはい、大きなファイルでもモジュールをテストしたいので、このケースをテストするために1GBのアーカイブを作成しました –

    +0

    テストケースのために、プロジェクトが大きくなければなりません。大規模なファイルでテストする必要はないと思っていますが、これは不要で、gitサーバーとテストランタイムの両方のリソースを要求しています。 –

    答えて

    2

    あり、このテストのためのより良い解決策があるか、私はあなたが確かにあなたのテストのためのソースをアップロードすることができ

    のgitにすべてのテストリソースをアップロードする必要がありますが、ために(1ギガバイト)のデータは言っていませんテスト。
    これらのデータは、Javaテストプロジェクトがそれらを照会して使用するために(外部参照(NexusまたはArtifactory/など)に属しています(通常はmaven依存関係を通じて):その種の参照では、 GBのデータを問題なく使用できます。

    真の単体テストでは、とにかく外部参照に依存する必要があります。そのため、これらのテストでは、これらの巨大なファイルをローカルで生成することができます。
    その後、同じテストを実行すると、その巨大なローカルファイルを再利用することができます。

    関連する問題