mike rodent :
In a test I am trying to test for the correct behaviour when a configuration file is absent.
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")
The first renameTo
works fine. The second returns false
(and the file name stays at "settings.gradle_OLD"). In the code of the CUT we have:
URL settingsGradleURL = App.class.getResource( '/settings.gradle' )
ConfigObject conf = new ConfigSlurper().parse( settingsGradleURL )
projectName = conf.rootProject.name
I may be wrong, but it seems that the second renameTo
is failing because in the mean time this getResource()
operation has happened. How can I get this resource to be "released"?
Andreas :
The second fails because settingsGradleFile
still refers to the original name "settings.gradle"
, not the new name "settings.gradle_OLD"
.
Calling renameTo
does not update the File
object, since File
objects are immutable.
Guess you like
Origin http://43.154.161.224:23101/article/api/json?id=350336&siteId=1