我在用:
> Android Studio 2.1.3
> Gradle 2.14.1(我也试过2.14)
> OpenJDK版“1.8.0_91”
我想用Groovy和Spock为Android应用程序示例编写一些单元测试.
当我尝试运行简单测试时:
package a.b.regex
class TestSum extends spock.lang.Specification {
def "test adding some numbers"() {
when:
def a = 5 + 4
then:
a == 9
}
}
当我尝试在Android Studio中运行此测试时出现错误:
Process finished with exit code 1
Class not found: "a.b.regex.TestSum"Empty test suite.
我使用的配置:
1)
buildscript {
dependencies {
classpath 'com.android.tools.build:gradle:2.1.3'
classpath 'org.codehaus.groovy:gradle-groovy-android-plugin:0.3.6'
}
}
apply plugin: 'groovyx.grooid.groovy-android'
// ...
dependencies {
testCompile 'org.robospock:robospock:1.0.0'
}
2)
buildscript {
dependencies {
classpath 'com.android.tools.build:gradle:2.1.3'
classpath 'org.codehaus.groovy:groovy-android-gradle-plugin:1.0.0'
}
}
apply plugin: 'groovyx.android'
dependencies {
testCompile "org.codehaus.groovy:groovy-all:2.4.1"
testCompile "org.spockframework:spock-core:1.0-groovy-2.4"
testCompile 'org.codehaus.groovy:groovy:2.4.6:grooid'
}
从控制台完全不运行任何测试.
通过测试Java应用程序,我没有问题.
值得庆幸的是Pieces我找到了答案.
您应该使用以下配置:
apply plugin: 'groovyx.android'
buildscript {
repositories {
jcenter() // or mavenCentral,etc.
}
dependencies {
classpath 'com.android.tools.build:gradle:2.1.3'
classpath 'org.codehaus.groovy:groovy-android-gradle-plugin:1.0.0'
}
}
testCompile 'org.codehaus.groovy:groovy:2.4.7:grooid'
testCompile('org.spockframework:spock-core:1.0-groovy-2.4') {
exclude group: 'org.codehaus.groovy'
exclude group: 'junit'
}