为什么 ":project:testXlib" 取代 ":project:test" Gradle 任务,它是如何工作的?
Why does ":project:testXlib" replace the ":project:test" Gradle task and how does that work?
环境
我目前正在尝试 运行 通过 xvfb
在 Travis CI 的多个环境中进行 JavaFX GUI 测试。我使用 Gradle 到 运行 这些测试,同时使用 TestFX 和 NestedRunner 测试框架来编写它们。在 运行 测试之前,调用 export DISPLAY=:99.0
。
上下文
构建有时成功,有时失败。但是,我注意到 Gradle 输出一行,我可以用它来预测构建何时成功或失败。
在该行出现之前,将在 Travis CI 日志中看到以下内容:
:richtextfx:compileJava
:richtextfx:processResources
:richtextfx:classes
:richtextfx:compileTestJava
:richtextfx:processTestResources
:richtextfx:testClasses
之后,出现两行之一,预测构建是否会 succeed/fail:
- 成功:
:richtextfx:testXlib: extension "RANDR" missing on display ":99.0".
- 失败时:
:richtextfx:test
我的问题
为什么Gradle将test
任务改为testXlib
任务?处理这个问题的内部机制是什么?这一切意味着什么?
Gradle肯定不会这样做。我从未听说过名为 testXlib
的任务,而且完整的 Gradle 源代码也不包含此字符序列。
您的构建脚本执行此操作,或您应用的某些插件,或 Travis CI 应用的初始化脚本。
尝试提高日志记录级别以进行调试,并添加对 tasks --all
的调用,也许这会有所帮助。
环境
我目前正在尝试 运行 通过 xvfb
在 Travis CI 的多个环境中进行 JavaFX GUI 测试。我使用 Gradle 到 运行 这些测试,同时使用 TestFX 和 NestedRunner 测试框架来编写它们。在 运行 测试之前,调用 export DISPLAY=:99.0
。
上下文
构建有时成功,有时失败。但是,我注意到 Gradle 输出一行,我可以用它来预测构建何时成功或失败。
在该行出现之前,将在 Travis CI 日志中看到以下内容:
:richtextfx:compileJava
:richtextfx:processResources
:richtextfx:classes
:richtextfx:compileTestJava
:richtextfx:processTestResources
:richtextfx:testClasses
之后,出现两行之一,预测构建是否会 succeed/fail:
- 成功:
:richtextfx:testXlib: extension "RANDR" missing on display ":99.0".
- 失败时:
:richtextfx:test
我的问题
为什么Gradle将test
任务改为testXlib
任务?处理这个问题的内部机制是什么?这一切意味着什么?
Gradle肯定不会这样做。我从未听说过名为 testXlib
的任务,而且完整的 Gradle 源代码也不包含此字符序列。
您的构建脚本执行此操作,或您应用的某些插件,或 Travis CI 应用的初始化脚本。
尝试提高日志记录级别以进行调试,并添加对 tasks --all
的调用,也许这会有所帮助。