从命令行运行时,Gradle - Corda流测试失败

时间:2018-06-15 10:20:36

标签: gradle junit kotlin corda quasar

在我的项目中,我有一个模块,其中包含用Kotlin编写的Corda流测试,并使用JUnit。除流量测试外,大多数测试都通过了

我的假设是,这是因为Corda流测试在命令行中需要-ea -javaagent:lib/quasar.jar ...

在我添加的gradle.build文件中

test {
    jvmArgs "-ea -javaagent:lib/quasar.jar"
}

然后从命令行我运行./gradlew test但是我从流测试中得到了这些错误:

  

java.lang.IllegalStateException

     

kotlin.UninitializedPropertyAccessException

进一步调查

运行./gradlew test --info表明jvm参数被完全忽略:

  

com.acme.FlowTests>发行流程应由发起人FAILED签署   java.lang.IllegalStateException:缺少'-javaagent'JVM参数。确保使用附加到JVM的Quasar java代理运行测试。有关更多详细信息,请参阅https://docs.corda.net/troubleshooting.html - “未检测的光纤类”。

     

kotlin.UninitializedPropertyAccessException:lateinit属性网络尚未初始化

1 个答案:

答案 0 :(得分:3)

问题是我在错误的模块中指定了jvmArgs。将以下行添加到包含测试的模块的gradle.build修复了该问题:

test.jvmArgs = ["-ea", "-javaagent:../lib/quasar.jar"]