In my project I have a module that contains Corda flow tests written in Kotlin, and using JUnit. Most of the tests pass, except for the flow tests
My assumption is that this is because Corda flow tests require -ea -javaagent:lib/quasar.jar
in the command line...
In my gradle.build
file I've added
test {
jvmArgs "-ea -javaagent:lib/quasar.jar"
}
And then from the command line I'm running ./gradlew test
but I get these errors from the flow tests:
java.lang.IllegalStateException
kotlin.UninitializedPropertyAccessException
Further Investigations
Running ./gradlew test --info
suggests that the jvm arguments are being ignored altogether:
com.acme.FlowTests > Issuance flow should be signed by the initiator FAILED java.lang.IllegalStateException: Missing the '-javaagent' JVM argument. Make sure you run the tests with the Quasar java agent attached to your JVM. See https://docs.corda.net/troubleshooting.html - 'Fiber classes not instrumented' for more details.
kotlin.UninitializedPropertyAccessException: lateinit property network has not been initialized