When I run Corda flow tests from IntelliJ, the tests fail with the following errors:
QUASAR WARNING: Quasar Java Agent isn't running. If you're using another instrumentation method you can ignore this message; otherwise, please refer to the Getting Started section in the Quasar documentation.
and
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.
How can I fix this?
Corda flows need to be instrumented using Quasar before they are run, so that they can be suspended mid-execution.
To achieve this in IntelliJ, you need to:
- Create a run config for your tests
- Open the run config and change the VM options to
-ea -javaagent:PATH-TO-QUASAR-JAR
- In the CorDapp example and templates,
quasar.jar
is located atlib/quasar.jar
, so you'd use-ea -javaagent:../lib/quasar.jar
- In the CorDapp example and templates,
Alternatively, you can edit the default JUnit run config to use the Quasar javaagent by default, avoiding you having to do this every time you pick a new test to run.
来源:https://stackoverflow.com/questions/47411363/error-when-running-corda-flow-tests-from-intellij