Grails/Gradle 测试在非本地 CI 上失败
Posted
技术标签:
【中文标题】Grails/Gradle 测试在非本地 CI 上失败【英文标题】:Grails/Gradle test fails on CI not locally 【发布时间】:2017-10-09 13:44:07 【问题描述】:使用gradle test
在本地(OSX)运行我们的测试,运行/通过就好了。在我们的 CI(Ubuntu 16.04 LTS)机器上,我们遇到了应用程序上下文问题
java.lang.IllegalStateException: Could not find ApplicationContext, configure Grails correctly first
at grails.util.Holders.getApplicationContext(Holders.java:97)
检查版本表明它们在两台机器上是相同的
/grailsw -version
| Grails Version: 3.2.8
| Groovy Version: 2.4.7
| JVM Version: 1.8.0_131
./gradlew -version
Gradle 3.5
Build time: 2017-04-10 13:37:25 UTC
Revision: b762622a185d59ce0cfc9cbc6ab5dd22469e18a6
Groovy: 2.4.10
Ant: Apache Ant(TM) version 1.9.6 compiled on June 29 2015
JVM: 1.8.0_131 (Oracle Corporation 25.131-b11)
OS: Linux 3.13.0-100-generic amd64`
还有其他一些我应该研究的依赖项吗?
【问题讨论】:
【参考方案1】:我认为原因在于您开始测试的方式。请使用本地 Gradle 包装器而不是机器本身安装的版本,以确保这两个构建之间的一致性 - here 你可以找到更多信息。
所以基本上不是运行gradle test
而是使用./gradlew test
运行它
【讨论】:
以上是关于Grails/Gradle 测试在非本地 CI 上失败的主要内容,如果未能解决你的问题,请参考以下文章
Travis CI AVD上的Android Instrumentation测试失败,但在本地模拟器上工作