すみむらの独り言

思ったことをぶつぶつ呟いていくブログ

既存のプロジェクトをGradleの環境に移行していく テスト編

動機

テストコードがないレガシーサバンナに投下されたので、ゴリゴリとテスト環境を作っていこうと試行錯誤している。

既存プロジェクトは、jar単位でプロジェクト作成されており、それらがSVNで管理されている。
並行開発や、現行の開発プロセスから各jar(アプリケーション?機能?)の単位でテストコード用のプロジェクトを作成する方針とした。

各jar単位でテストプロジェクトを作成するのはよいのだが、基底となるライブラリ(というか共通化パーツ)を作りたかった。

依存関係が解決できない

プロジェクト間に依存関係を付けてビルドしてみても、パッケージが見つからない的なエラーが出てきてビルドが失敗する。

↓こんな感じで単純にプロジェクトとしてテスト用にImplementationした場合。

dependencies {
    // テスト対象のプロジェクト
    testImplementation project(':AppSubProject1')
    // テスト用の基底プロジェクト
    testImplementation project(':AppSubProject1TestBase')
}

調べてみると引っかかった

調べてみたら記事が見つかりました。
nainaistar.hatenablog.com

記載内容を参考に修正してみるとうまくいきました。

dependencies {
    // テスト対象のプロジェクト
    testImplementation project(':AppSubProject1')
    // テスト用の基底プロジェクト
    testImplementation project(':AppSubProject1TestBase').sourceSets.test.output
}

めでたしめでたし。