Gradle-从命令行运行时,Corda流测试失败
在我的项目中,我有一个模块,其中包含用Kotlin编写并使用JUnit的Corda流测试。除流量测试外,大多数测试都通过 我的假设是,这是因为Corda流测试需要命令行中的Gradle-从命令行运行时,Corda流测试失败,gradle,junit,kotlin,corda,quasar,Gradle,Junit,Kotlin,Corda,Quasar,在我的项目中,我有一个模块,其中包含用Kotlin编写并使用JUnit的Corda流测试。除流量测试外,大多数测试都通过 我的假设是,这是因为Corda流测试需要命令行中的-ea-javaagent:lib/quasar.jar 在我添加的gradle.build文件中 test { jvmArgs "-ea -javaagent:lib/quasar.jar" } 然后从命令行运行/gradlew test,但我从流测试中得到以下错误: java.lang.Ill
-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>发行流应由发起人签名失败
java.lang.IllegalStateException:缺少'-javaagent'JVM参数。确保在运行测试时将Quasar java代理连接到JVM。有关更多详细信息,请参阅-“未检测的光纤类”
kotlin.UninitializedPropertyAccessException:lateinit属性网络尚未初始化
问题是我在错误的模块中指定了
jvmArgs
。在包含测试的模块的gradle.build
中添加以下行修复了该问题:
test.jvmArgs = ["-ea", "-javaagent:../lib/quasar.jar"]