如何在Android Studio 1.5中运行单元测试

时间:2016-01-08 20:23:36

标签: android unit-testing android-studio junit

我在Mac上使用Android Studio 1.5和Gradle 1.5(El Capitan)。我正在关注教程http://developer.android.com/training/testing/unit-testing/local-unit-tests.html。但该教程与事实不符。

一些差异:

  • 当我通过mac Finder查看我的项目结构时,src文件夹有3个文件夹:androidTest, main, test。但教程说我应该看到2,main, test
  • 现在在Android Studio中,Android视角,在app >> java下,我看到2个包:com.company.myapp对应于文件夹maincom.company.myapp(androidTest)对应于文件夹androidTest。所以我找不到test文件夹。
  • 如果我继续在androidTest下创建我的Test类,那么当我运行测试时,我会遇到异常junit.framework.AssertionFailedError: No tests found in com.company.myapp.MyTest
  • 如果我从Android切换到Project视角,那么我终于可以找到test文件夹了。但是把东西放在test文件夹中是一个死胡同。首先,文件名上有一个红色圆圈。当我右键单击以运行它时,我收到错误Test running failed: Instrumentation run failed due to 'java.lang.RuntimeException’ Empty test suite

这是我的测试

@Test
public void basicTest(){
    System.out.println("Is this running?");
    int a = 5;
    int b = 8;
    assertThat(a, equalTo(b));
}

1 个答案:

答案 0 :(得分:0)

根据您所在的视图( Project Android ),您将看到所有目录,或仅查看当前活动文件夹(源目录)。

androidTest用于仪器测试。

正如您所做的那样,test是放置文件的正确位置。

要在Android视图中切换Unit和Instrumentation测试,您需要选择IDE左侧的Build Variants -> Test Artifact。在这里,您可以选择要运行的测试类型。

非活动目录中的代码不会被编入索引,因此这就是您在这些文件中看到这些错误的原因。切换测试工件将解决此问题。

另外,请记住,您只需发出

即可使用gradle运行单元测试
gradlew test

命令。

快乐测试!