Kryonet と Gradle を使用して、おおよそ次の構造のクライアント サーバー アーキテクチャを開発しました。
- プロジェクト A と B を含む親プロジェクト X
- プロジェクト A (サーバー)
- 統合および単体テスト クラスを含むプロジェクト B (クライアント)
プロジェクト B (またはプロジェクト X の方が簡単な場合) で目標 'integrationTest' を実行するときはいつでも、統合テストが失敗しないように、サーバーを事前に開始する必要があります。
これは、プロジェクト B の build.gradle でこれまでに取得したものです。ただし、サーバーは実行されません。
task integrationTest(type: Test) {
testClassesDir = sourceSets.integrationTest.output.classesDir
classpath = sourceSets.integrationTest.runtimeClasspath
outputs.upToDateWhen { false }
}