asc*_*sco 5 android gradle android-studio
Android Studio中存在一个已知错误,即测试类中无法提供应用程序的资源.
根据上述线程的解决方案是将以下行放入build.gradle:
task copyTestResources(type: Copy) {
from "${projectDir}/src/test/resources"
into "${buildDir}/classes/test"
}
processTestResources.dependsOn copyTestResources
Run Code Online (Sandbox Code Playgroud)
但格拉德说:
Error:(132, 0) Could not find property 'processTestResources' on project ':app'.
Run Code Online (Sandbox Code Playgroud)
我到底在哪里放线
processTestResources.dependsOn copyTestResources
Run Code Online (Sandbox Code Playgroud)
在我的build.gradle中?
编辑:
我还没有apply plugin: 'java'在我的构建文件中.问题是在我的app模块的构建gradle中,我已经apply plugin: 'android'尝试添加java插件导致
Error:The 'java' plugin has been applied, but it is not compatible with the Android plugins.
Run Code Online (Sandbox Code Playgroud)
我apply plugin: 'java'在顶级构建文件中尝试了puttin 然后
task copyTestResources(type: Copy) {
from "${projectDir}/app/src/test/resources"
into "${buildDir}/classes/test"
}
Run Code Online (Sandbox Code Playgroud)
请注意,我将modules目录添加到了from-line.这构建很好,但是需要访问资源的单元测试仍然无法正常工作.
抱歉,我不知道您正在使用该android插件。您收到错误是因为与 Java 插件相比, Android 插件定义了一组不同的构建任务。因此,您需要选择一个不同的构建任务来依赖您的copyTestResources任务,例如:
apply plugin: 'android'
// (...) more build logic
task copyTestResources() {
from "${projectDir}/src/test/resources"
into "${buildDir}/classes/test"
}
check.dependsOn copyTestResources
Run Code Online (Sandbox Code Playgroud)
另外,您的copyTestResources任务可以更简单一些,如下所示:
task copyTestResources() {
from sourceSets.test.resources
into sourceSets.test.output.classesDir
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
578 次 |
| 最近记录: |