Ссылаясь на 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] из библиотеки проекта приложения).

Может кто-нибудь, пожалуйста, помогите понять, что может пойти не так и как это исправить?

0 ответов

Другие вопросы по тегам