Я разработал клиент-серверную архитектуру с использованием Kryonet и Gradle примерно со следующей структурой.
- Родительский проект X, содержащий проекты A и B
- Проект А (сервер)
- Проект B (клиент), содержащий классы интеграции и модульного тестирования.
Теперь всякий раз, когда я запускаю цель «integrationTest» в проекте B (или проекте X, если это было проще), я бы хотел, чтобы сервер запускался заранее, чтобы интеграционные тесты не провалились.
Это то, что у меня есть в build.gradle проекта B, хотя он не запускает сервер:
task integrationTest(type: Test) {
testClassesDir = sourceSets.integrationTest.output.classesDir
classpath = sourceSets.integrationTest.runtimeClasspath
outputs.upToDateWhen { false }
}