Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/5.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
Java gradle:编译android junit测试apk文件_Java_Android_Junit_Gradle - Fatal编程技术网

Java gradle:编译android junit测试apk文件

Java gradle:编译android junit测试apk文件,java,android,junit,gradle,Java,Android,Junit,Gradle,我可以使用gradle脚本编译Android JUnit测试apk文件吗?现在我的测试类是: public class main extends ActivityInstrumentationTestCase2<LoginWindow> { public main() { super("com.tecomgroup.handifox", LoginWindow.class); } ... } publi

我可以使用gradle脚本编译Android JUnit测试apk文件吗?现在我的测试类是:

    public class main extends ActivityInstrumentationTestCase2<LoginWindow> {
        public main() {
        super("com.tecomgroup.handifox", LoginWindow.class);
        }
        ...
    }
public类主扩展ActivityInstrumentationTestCase2{
公用干管(){
超级(“com.tecomgroup.handifox”,LoginWindow.class);
}
...
}

gradle说他找不到LoginWindow类。我应该将LoginWindow.java添加到依赖项{}块吗?这样的测试有效吗?或者是否有其他方法来编译测试apk文件?

当使用Gradle Android插件时,您不再需要单独的项目进行测试。生产源应放在
src/main/java
目录中,测试源应放在
src/instrumentTest/java
中。资源也是如此

从上的Android Gradle插件用户指南

项目结构

上面的基本生成文件需要默认的文件夹结构。Gradle遵循约定优先于配置的概念,尽可能提供合理的默认选项值

基本项目从两个名为“源集”的组件开始。主要的源代码和测试代码。他们分别居住在:

src/main/
src/instrumentTest/
在每个文件夹中都存在每个源组件的文件夹。 对于Java和Android插件,Java源代码和Java资源的位置:

java/
resources/
对于Android插件,特定于Android的额外文件和文件夹:

AndroidManifest.xml
res/
assets/
aidl/
rs/
jni/
注意:不需要src/instrumentTest/AndroidManifest.xml,因为它是自动创建的

你可以换个房间


Gradle Android插件中的项目结构不同于Ant Android结构。测试在
src/test/java
目录下的项目中,而不是在另一个项目中。你在另一个项目中有测试吗?我的应用程序和它的junit测试是两个不同的项目(如果我正确理解你的问题)@user2172741那么你必须将该项目的jar添加为compiletest依赖项。我认为teamleader不会接受源代码中的此类操作。是否有其他方法来编译测试apk文件?或者通过链接到主项目文件夹?@user2172741的方式运行它。您可以更改测试源文件的目录。检查更新。但请记住“约定优先于配置”!Grzegorz在“23.12.1.测试执行”一章中说,“测试在独立的JVM中执行,与主构建过程隔离。”。据我所知,我不能通过这种方式在设备或模拟器上运行UI测试,可以吗?@user2172741当您编译Android项目时,您使用的是在模拟器或设备上执行检测测试的Android插件。它不同于Gradle的标准Java插件。谢谢现在,我可以构建项目和测试apk文件(正如您所建议的,只有一个项目具有默认文件夹),但我无法签署测试apk文件(因此我无法测试项目的发布版本),并且运行测试时说有0个测试待定
sourceSets {
    instrumentTest {
        java {
            srcDir '../other/src/java'
        }
        resources {
            srcDir '../other/src/resources'
        }
    }
}