【问题标题】:Running test that was created by Android Studio运行由 Android Studio 创建的测试
【发布时间】:2015-11-04 09:32:28
【问题描述】:

在Android Studio中创建新项目时,我注意到它会自动在/src下创建一个/androidTest目录,其中有“ApplicationTest.java”类,代码如下:

public class ApplicationTest extends ApplicationTestCase<Application> {
    public ApplicationTest() {
        super(Application.class);
    }
}

我猜这是 Google 希望我们使用的,但搜索了几个小时后,我无法弄清楚如何使用为我生成的这个类。谷歌的官方文档似乎只列出了如何在 Eclipse IDE(不是 Android Studio)上运行,我找不到任何可以让我执行简单测试的代码(比如assertEquals(1,2))。有人可以告诉我如何使用上述默认模板编写一个简单的测试代码,以及如何运行它的步骤,最好是从命令行运行吗?

编辑: 我能够编写一个旨在失败的简单测试。 /androidTest/java/path/to/package/中的ApplicationTest.java

public class ApplicationTest extends ApplicationTestCase<Application> {
    public ApplicationTest() {
        super(Application.class);
    }

    @Override
    protected void setUp() throws Exception {
        createApplication();
    }

    @SmallTest
    public void testMultiply() {
        assertEquals("This should not pass ", 50, 49);
    }
}

我可以从 Android Studio 运行它,但我无法弄清楚如何从命令行运行它。有什么帮助吗?

【问题讨论】:

  • 没有测试。这只是一个示例设置。
  • 我知道这是测试设置的样板。我的问题更多是关于如何使用上述设置编写测试;例如,需要调用哪些函数?写完之后如何运行测试?

标签: android android-studio


【解决方案1】:

正如 Jared 已经说过的,这是仪器测试的示例设置。 我想,你已经看过这个了:Testing Fundamentals

在 android studio 中运行这些测试的最简单方法是右键单击类并单击运行。 也可以在运行/调试配置中添加测试。

更新:

要在命令行上运行仪器测试,请使用./gradlew assembleAndroidTest。此命令将运行您的 src/androidTest(仪器测试)文件夹中的所有测试。

正如 njzk2 提到的,还有一个./gradlew assembleTest 命令。此命令用于运行所有单元测试(应放在 src/test 文件夹中)。有关 android 单元测试的更多信息,请查看:Android Unit Testing Support

示例:

这是一个在 android 中进行仪器测试的示例:

@Override
public void setUp() throws Exception {
  super.setUp();
  InputStream is = getContext().getAssets().open("test.xml");
  XmlParser parser = new XmlParser(getContext());
  parser.parse(is);
  ...
}

@MediumTest
public void testSomething() throws Exception {      
  // test some data your parser extracted from the xml file
  ...
}

如您所见,我需要创建输入流的上下文,因此我必须进行仪器测试。 @MediumTest 信号例如我正在从存储中访问文件(请参阅Test Annotations)。

【讨论】:

  • ./gradlew tasks 列出任务。 assembleTest 组装测试应用程序。那么你必须在设备上运行它。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-05-24
  • 2013-05-11
  • 1970-01-01
  • 2012-03-08
  • 1970-01-01
  • 2015-01-13
相关资源
最近更新 更多