Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/311.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 如何在IntelliJ 13中为Gradle Android项目创建Android测试模块?_Java_Android_Intellij Idea_Gradle_Android Testing - Fatal编程技术网

Java 如何在IntelliJ 13中为Gradle Android项目创建Android测试模块?

Java 如何在IntelliJ 13中为Gradle Android项目创建Android测试模块?,java,android,intellij-idea,gradle,android-testing,Java,Android,Intellij Idea,Gradle,Android Testing,我已经在Intellij13中成功创建了一个Android项目,我想设置Android测试框架。我使用NewProject向导使用Gradle创建android项目。当我去添加一个新模块时,我只有“Gradle:Android模块”和“Gradle:Java库”的选项,“Test模块”选项缺失 如何生成Android测试模块?我读过,但我从来没有找到任何“测试”选项 如果无法自动生成Android测试模块,那么如何配置和使用带有Gradle Android项目的Android测试框架?非常感谢链

我已经在Intellij13中成功创建了一个Android项目,我想设置Android测试框架。我使用NewProject向导使用Gradle创建android项目。当我去添加一个新模块时,我只有“Gradle:Android模块”和“Gradle:Java库”的选项,“Test模块”选项缺失

如何生成Android测试模块?我读过,但我从来没有找到任何“测试”选项

如果无法自动生成Android测试模块,那么如何配置和使用带有Gradle Android项目的Android测试框架?非常感谢链接到示例或文档


详细信息:IntelliJ 13.1.3

我在IntelliJ中创建android项目时遇到问题,所以现在我在Eclipse中创建项目,然后将它们导入IntelliJ。这很烦人,但它是一个简单的修复程序,而且可以正常工作。

因此,当前您的目录结构应该如下所示:

ProjectDirectory/
  res/
  src/
    main/
      java/
        your.package.name
          MyClass.java
您只需为
androidTest
添加一个src目录:

ProjectDirectory/
  res/
  src/
    main/
      java/
        your.package.name
          MyClass.java
    androidTest/
      java/
        your.package.name
          MyClassTest.java
然后将Gradle文件与项目重新同步,它应该被检测为测试目录。然后可以运行
connectedCheck
connectedAndroidTest
任务(我不清楚两者的区别)来运行测试

如果您的目录结构与上述不同(例如,如果您是一个Eclipse样式的项目),则可以在build.gradle脚本中指定备用src目录:

android {
    sourceSets {
        androidTest {
            java.srcDirs = ['path/to/test/src']
        }
    }
}

作为一种选择,你可以尝试切换到,它建立在ItelliJ之上。如果您正在创建一个新项目,Android Studio会自动为您创建测试目录

经过多次尝试,我找到了一种绝对不错的方法:

  • 在包下创建一个测试文件夹
  • 创建一个类(称之为
    ExampleTest
    ),将
    InstrumentationTestCase
    扩展到此文件夹中
  • 让我们添加一个我们知道会失败的简单测试:

    public class ExampleTest extends InstrumentationTestCase {
        public void test() throws Exception {
            final int expected = 1;
            final int reality = 5;
            assertEquals(expected, reality);
        }
    }
    
  • 请记住,所有的测试方法都必须以“test-”前缀开头,否则Android Studio将不会将它们作为测试来检测,您将得到各种奇怪的错误,并且什么都不起作用

    既然我们有了一个注定要失败的测试用例,我们现在就必须运行它。 首先单击“运行->编辑配置” 现在从左上角选择“+->Android测试”,然后选择“Android测试”,并将您的新测试配置命名为“测试”或其他同等相关的名称

    选择您当前的模块,然后选择“软件包中的所有内容”选项,并导航到您刚刚创建的“测试”文件夹。您还可以选择“模块中的所有测试”,Android Studio将自动在您的整个模块中找到任何测试!您还可以更具体地选择“类”甚至“方法”选项来进一步缩小测试范围

    应用、关闭并运行此配置!测试将运行

    通过此链接获取信息: 它是为android studio编写的,但也适用于intelliJ 13!;)
    玩得开心

    我有点惊讶地看到这是可行的,因为Ant的设置要复杂得多,并且涉及多个模块。我还想补充一点,在IntelliJ中运行测试非常简单,只需右键单击测试并选择“运行”android。这在你知道的任何地方都有记录吗?是的,你可以在这里找到更多信息:谢谢,所有其他在线教程,甚至官方教程都过时了。你在Gradle版本中尝试过吗?或者只是一个蚂蚁构建?对不起,我的回复有点晚了。到目前为止,我只在ant上尝试过,但似乎eclipse是Android开发最受支持的IDE,我认为它也可以与gradle一起使用。这个问题专门针对gradle构建,因为ant和gradle项目的设置非常不同。据我所知,Android正在从Ant和Eclipse走向Gradle和Android Studio(构建在IntelliJ之上)。IntelliJ可以毫无问题地设置Ant项目。