2017-10-03 7 views
0

私は手元に比較的大きなコードベースを持っています。これは、数多くの統合テストから成り立っています。私は現在、これらのテストをOracleではなくメモリ内のh2で実行しているため、特定のクラス階層のテストを実行できるので、一度に1つの階層を修正できます。gradleから特定のスーパークラスを拡張するすべてのテストを実行できますか?

理想的には、のようなもの:

$ gradlew test -DtestHierarchy=AbstractTestSuperClass 

AbstractTestSuperClass

からこれを実現する方法上の任意のアイデアを拡張するすべてのテストを実行するのでしょうか?

+0

を一緒にパッケージ化し、そのパッケージからすべてのテストを実行します。 – nullpointer

+0

返事をありがとう、私はそれを考え、尋ねる前にそれを与えた。問題はコードベースのサイズであり、具体的なテストクラスはかなり異なる依存関係を持つ複数のモジュールに広がっているということです。これらをまとめてグループ化するのは非常に退屈な仕事です。 – Kristoffer

答えて

2

あなたが探している機能のようですが、すでにGradleのリストに要求され、インライン化されている機能です。

Test Filtering以上のGradleのマニュアルは、テスト・フィルタリング・シナリオの一部はGradleのは、現在処理し、いくつかは、将来のリリースでは満足されると述べて

:特定のテストメソッドのレベルで

  • フィルタリング。単一のテストメソッドを実行する
  • カスタムアノテーションに基づくフィルタリング(将来)
  • テスト階層に基づくフィルタリング。特定の基本クラスを拡張するすべてのテストを実行する(将来)
  • カスタムランタイムルールに基づいたフィルタリング。今のところ、あなたが、またTestFilters.


    のいずれかに一致するように、あなたのテストクラスをあなたの彼らのグループに名前を付けることができ

またはシステムプロパティまたはいくつかの静的な状態(未来)の特定の値commentに記載されているような副作用がある場合は、そのようなクラスを1つのpackageに配置するようにコードをリファクタリングすることを検討する必要があります。大規模なコードベースを持つIMOは問題ではありませんが、それを整列していないと常に問題ありません。

関連する問題