Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/204.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 渐变复制任务不复制文件_Android_Unit Testing_Gradle_Mockito_Powermock - Fatal编程技术网

Android 渐变复制任务不复制文件

Android 渐变复制任务不复制文件,android,unit-testing,gradle,mockito,powermock,Android,Unit Testing,Gradle,Mockito,Powermock,我有以下任务将文件从我的android项目资源文件复制到单元测试中的ClassLoader实例可以访问的不同路径 task copyResDirectoryToClasses(type: Copy){ println 'COPYINGCOPYINGCOPYING!!!!!!!!!!!!!!!!!!!!' println "$projectDir/src/test/java/com/textmeinc/topmeup/resources/" println "$buildD

我有以下任务将文件从我的android项目资源文件复制到单元测试中的ClassLoader实例可以访问的不同路径

task copyResDirectoryToClasses(type: Copy){
    println 'COPYINGCOPYINGCOPYING!!!!!!!!!!!!!!!!!!!!'
    println "$projectDir/src/test/java/com/textmeinc/topmeup/resources/"
    println "$buildDir/intermediates/classes/test/staging/debug/"

    from "$projectDir/src/test/java/com/textmeinc/topmeup/resources/"
    into  "$buildDir/intermediates/classes/test/staging/debug/"
}

assembleDebug.dependsOn(copyResDirectoryToClasses)
我看到任务在gradle控制台中运行

Parallel execution with configuration on demand is an incubating feature.
COPYINGCOPYINGCOPYING!!!!!!!!!!!!!!!!!!!!
/Users/tylerpfaff/Documents/Development/topmeup-android/app/src/test/java/com/textmeinc/topmeup/resources/
/Users/tylerpfaff/Documents/Development/topmeup-android/app/build/intermediates/classes/test/staging/debug/
但是,不会传输任何文件。如果我在终端中手动移动它们,我的测试就可以使用mock.json文件正常运行。为什么复印件不起作用

这是我用来手动复制文件的命令

cp /Users/tylerpfaff/Documents/Development/topmeup-android/app/src/test/java/com/textmeinc/topmeup/resources/mock.json /Users/tylerpfaff/Documents/Development/topmeup-android/app/build/intermediates/classes/test/staging/debug/

位于顶部的示例使用了与
projectDir

尝试用以下路径替换“开始”和“进入”路径:

from 'app/src/test/java/com/textmeinc/topmeup/resources'
into 'build/intermediates/classes/test/staging/debug'

我认为插件中有一个bug。我自己也遇到了这个。让任务作为“dependsOn”运行失败。但是如果我在Android Studio中打开Gradle选项卡并从那里手动运行任务,那么文件就会被复制。命令行
gradlew:subproject:copytask
也是如此。我将尝试在一个独立的项目中复制它,如果可以,我将提交一份bug报告(并将链接放在这里)。同时,手动运行gradle任务是我唯一的解决方案

您可以复制到terminal中的
classes/test/staging/debug/
,但在gradle任务中复制到
classes/staging/debug/
。请参见我的编辑,仍然不起作用:(@LawrenceChoy是否可以尝试在任务的
from
部分指定文件名(mock.json)?@LawrenceChoy不起作用:(你可能会遇到吗?谢谢你的研究!这真是令人讨厌。你对此有错误报告吗?@Desgrasi negative,已经有一段时间了,但根据我的回忆,我无法在一个独立的项目中复制它以供文档使用。我想说,它最终在未来的更新中得到解决,但再次出现在一段时间前,所以我可以确定什么时候。