When I run afConcordion fixtures within my Fantom project, the generated fixtures end up in this folder:
$FAN_HOME/temp/concordion/no-name
But I'd like them to be written in a folder called target
under my project's folder.
Looking at afConcordion documentation it seems that is possible, at least for afBedSheet applications, if I extend the ConcordionRunner, e.g.
class MyConcordionRunner : ConcordionRunner {
new make(|This|? f := null) : super(f) {
outputDir = `concordion-results/`.toFile
// other runner configuration...
}
}
But I'd like to use the default ConcordionRunner instead of implementing my own and still decide where I want my test results. Is it possible, please?
Sure it is! ConcordionRunner
is a standard class and outputDir
is just a field, so...
runner := ConcordionRunner()
runner.outputDir = `target/`.toFile
Or, using the it-block ctor parameter:
runner := ConcordionRunner() { it.outputDir = `target/`.toFile }
Putting it together with FixtureTest
:
class TestStuff : FixtureTest {
...
override ConcordionRunner concordionRunner() {
ConcordionRunner() { it.outputDir = `target/`.toFile }
}
}