web-dev-qa-db-ja.com

プロジェクトの非単体テストを管理する方法は?

私のプロジェクトには、個人的にtestsと呼ぶコードがあり、単体テストではありません。これらは実行することを意図しており、結果は人間が評価する必要があります。これは、物理エンジンを作成していて、開発中に自分が何をしているかを確認する必要があったためです。そこで、テストモジュールでsimulationパッケージを作成しました。シミュレーションはユニットテストライブラリを使用しているため、技術的にはユニットテストですが、実際のユニットテストのようにすべてを実行するわけではありません。

すべての単体テストを簡単に実行したいので、これらの特別なテストを単体テストと区別します。機能テストに少し似ていると思います。機能テストのためにアプリケーションを準備しなければならないケースに遭遇したことがありますか?その機能テストの準備(基本的には私のシミュレーション)をプロジェクトのどこに配置し、ユニットテストとどのように区別するのですか?

私はJavaにいるので、すべてのメソッドシグネチャを@Test public void myNamedTest()からpublic static void main(String[] args)に変更できますが、使用するのは面倒で実用的ではありません。私のシミュレーション。

junitプロジェクトでgradleを使用しています。 gradleを使用して特別なテストフォルダーを作成するソリューションは大歓迎です。

9
Winter

新しいバージョンのJunitがテストのカテゴリをサポートしているようです。これらは、各テストを分類するのに役立ちます。その後、ビルド自動化を実行すると、カテゴリーに基づいてそれらのテストを含めたり除外したりできます。

これらのテストを単体テストに混在させるかどうかは、組織の好みの問題です。個別の「テストリグ」プロジェクトを作成して、通常の単体テストとより専門的な単体テストを分離することができます。

https://dzone.com/articles/closer-look-junit-categories

10
Jon Raynor