интеграция gradleTest и testFixtures

Я использую gradle 7.4.2, поэтому решил разделить тесты на правильные модульные и интеграционные тесты. Я переместил один класс из src/test/java/com/example в src/integrationTest/java/com/example и начал добавлять недостающие зависимости.

Проблема в том, что я не смог найти, как использовать testFixtures :project-with-fixture . Есть ли способ сделать это в IntegrationTest?

У меня были следующие зависимости:

      testImplementation project(':other-project')
testImplementation project(':project-with-fixture')
testImplementation testFixtures(project(':project-with-fixture'))
testImplementation project(':common')
testImplementation "com.google.guava:guava:${com_google_guava_version}"

А вот и новая часть build.gradle:

      testing {
    suites {
        integrationTest(JvmTestSuite) {
            dependencies {
                implementation project
                implementation project(':other-project')
                implementation project(':project-with-fixture')
//                testImplementation testFixtures(project(':project-with-fixture'))
                implementation project(':common')
                implementation "com.google.guava:guava:${com_google_guava_version}"
            }

            targets {
                all {
                    testTask.configure {
                        shouldRunAfter(test)
                    }
                }
            }
        }
    }
}
tasks.named('check') {
    dependsOn testing.suites.integrationTest
}

1 ответ

При использовании текущей версии Gradle 7.5.1 вы можете сделать это:

      testing {
  suites {
    integrationTest(JvmTestSuite) {
      dependencies {
        implementation(project.dependencies.testFixtures(project(':project-with-fixture')))
        ...
Другие вопросы по тегам