当我从IntelliJ运行Corda流测试时,测试失败并出现以下错误:
QUASAR警告:Quasar Java Agent没有运行。如果您正在使用 另一种仪器方法你可以忽略这条消息;除此以外, 请参阅Quasar的“入门”部分 文档。
和
java.lang.IllegalStateException:缺少' -javaagent' JVM 论点。确保使用Quasar java代理运行测试 附加到您的JVM。见https://docs.corda.net/troubleshooting.html - '光纤类没有检测'了解更多详情。
我该如何解决这个问题?
答案 0 :(得分:14)
Corda流程需要在运行之前使用Quasar进行检测,以便在执行中暂停它们。
要在IntelliJ中实现此目的,您需要:
-ea -javaagent:PATH-TO-QUASAR-JAR
quasar.jar
位于lib/quasar.jar
,因此您使用-ea -javaagent:../lib/quasar.jar
或者,您可以编辑默认的JUnit运行配置以默认使用Quasar javaagent,避免每次选择要运行的新测试时都必须执行此操作。
答案 1 :(得分:5)
答案 2 :(得分:0)
来自模板自述文件
我们建议您编辑IntelliJ首选项,以便使用Gradle Runner-这意味着quasar utils插件将确保为您设置了一些标志(例如-javaagent-参见下文)。
要切换为使用Gradle跑步器,请执行以下操作:
导航至构建,执行,部署->构建工具-> Gradle-> 运行器(或搜索运行器)Windows:这是在“设置” MacOS中: 这是在“首选项”中,将“ Delegate IDE构建/运行操作”设置为 gradle”设置为true如果将“运行测试使用:”设置为“ Gradle Test Runner” 宁愿使用内置的IntelliJ JUnit测试运行程序,您可以 运行gradlew installQuasar,它将您的类星体JAR文件复制到 lib目录。然后,您需要指定-javaagent:lib / quasar.jar 并将每个测试的运行目录设置为项目根目录。