LightDye
LightDye

Reputation: 1254

How to change the target folder for afFancordion results?

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?

Upvotes: 1

Views: 46

Answers (1)

Steve Eynon
Steve Eynon

Reputation: 5139

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 }
    }
}

Upvotes: 1

Related Questions