В тесте я пытаюсь проверить правильность поведения при отсутствии файла конфигурации.
given:
File settingsGradleFile = new File( 'src/main/resources/settings.gradle')
settingsGradleFile.renameTo 'src/main/resources/settings.gradle_OLD'
...
when:
App.instance.start(mockStage)
// now rename it back to its original name
// NB in practice I put renameTo() in the "cleanup" block - but I have tested in both
boolean result = settingsGradleFile.renameTo 'src/main/resources/settings.gradle'
log.debug("result of rename: $result")
Первый renameTo
работает нормально. Вторая возвращает false
(и имя файла остается в «settings.gradle_OLD»). В коде CUT мы имеем:
URL settingsGradleURL = App.class.getResource( '/settings.gradle' )
ConfigObject conf = new ConfigSlurper().parse( settingsGradleURL )
projectName = conf.rootProject.name
Возможно, я ошибаюсь, но кажется, что вторая renameTo
не работает, потому что в это время произошла эта операция getResource()
. Как я могу получить этот ресурс, чтобы быть "выпущенным"?