Ссылаясь на Spring-boot приложение из проекта kotlin
Я настроил многомодульный проект gradle в kotlin и spring-boot.
spring-app
|-app
|-integration-tests
//in app project
@SpringBootApplication
class Application
fun main(args: Array<String>) {
runApplication<Application>(*args)
}
Я пытаюсь написать интеграционный тест для этого приложения в проекте интеграционных тестов.
@RunWith(SpringRunner::class)
@SpringBootTest(classes = [Application::class],
webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
class ApplicationTests {...}
и я добавил зависимость проекта приложения в проекте интеграционных тестов
testImplementation project(':app')
Хотя все работает с intellij, но сборка gradle завершается неудачно при компиляции проекта интеграционных тестов со следующей ошибкой
ApplicationTests.kt: (13, 27): Only 'const val' can be used in constant
expressions
ApplicationTests.kt: (13, 28): Unresolved reference:
ApplicationKt
ApplicationTests.kt: (13, 28): An annotation argument must be a
compile-time constant
Я достаточно постарался выяснить проблему, но не повезло, даже если я переместил класс ApplicationTest в проект приложения, все также работает с самого начала. Так что что-то идет не так, когда я ссылаюсь на @SpringBootTest(classes = [Application::class] из библиотеки проекта приложения).
Может кто-нибудь, пожалуйста, помогите понять, что может пойти не так и как это исправить?