「コア」モジュールが一連の共通インターフェースを定義し、他のモジュールがバックエンドで異なるライブラリを使用してそれらのインターフェースを実装するプロジェクトを開始しています。これは SLF4J に非常に似ており、API モジュールは使用できるすべての操作を記述し、バインディング モジュールはそれらの操作を Log4j、java.util logging、Logback などのさまざまなロギング フレームワークに実装します。これを使用するには、API モジュールとバインディング モジュールの 1 つに依存し、API のみと対話します。
私の問題はテストにあります。API は可能なすべての操作を表現し、すべてのバインド モジュールは同じように動作する必要があるため、予想される動作を説明する一連のテストを作成し、すべてのバインド モジュールに対して同じテストを実行したいと考えています。多くの努力を繰り返さずにこれを機能させるには、どのように整理すればよいですか?
これは Groovy をふんだんに使った Java プロジェクトで、Gradle でビルドする予定です。