- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试将多个测试目录添加到我的 android 项目中。理想情况下,我想要一个联合测试目录和一个集成测试目录。我在 Spock 中进行所有联合测试,并且我想使用 Spock 或 robospock 进行所有集成测试。问题是,在我的 Gradle 构建文件中,当我尝试这样做时,我不断收到错误消息:
android {
sourceSets{
integrationTest {
groovy {
test.groovy.srcDir 'src/integrationTest/groovy'
}
}
}
}
我收到这个错误:
Error:(77, 0) Could not find method groovy() for arguments [build_c07qe1tzsdi2876irgi5e3c6i$_run_closure2$_closure9$_closure12$_closure13@7f835189] on source set integration test of type com.android.build.gradle.internal.api.DefaultAndroidSourceSet.
这在我使用 java 时有效:
android {
sourceSets{
integrationTest {
java {
test.java.srcDir 'src/integrationTest/java'
}
}
}
}
我也试过 https://github.com/groovy/groovy-android-gradle-plugin :
androidGroovy {
sourceSets {
integrationTest {
groovy {
srcDirs += 'src/integrationTest/groovy'
}
}
}
}
我正在使用 'com.android.tools.build:gradle:2.3.0'
,我已经成功地让 spock 测试在测试目录中运行,所以我的 groovy 配置是工作,我只是无法添加更多常规测试目录。
我在这一个上得到了与上面相同的错误。我也在 android 包装器之外尝试过它们,但无济于事。
我非常感谢至少能为我指明正确方向的任何人。我不确定还能尝试什么。
最佳答案
原来我使用的是旧版本的 android groovy 编译器。你需要这样做: apply plugin: 'groovyx.android'
这是 groovyx.grooid.groovy-android
的新名称,你需要将这个类路径添加到你的依赖。请注意,这可能应该放在您的根项目依赖项中,而不是类依赖项中,因为它需要在 apply 语句之前发生。
dependencies {
classpath 'org.codehaus.groovy:groovy-android-gradle-plugin:1.1.0'
}
然后你可以这样做:
android {
sourceSets {
test.java.srcDirs += 'src/integration-test/groovy'
test.java.srcDirs += 'src/unit-test/groovy'
}
}
我只花了两天时间就弄明白了。 :D
关于android - 如何在 android 中使用 groovy 制作 integrationTest 源集?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42793532/
我是一名优秀的程序员,十分优秀!