使用Android Studio进行单元测试

时间:2024-02-17 08:24:35

Android Studio默认支持Android单元测试,不需要像网上说的配置mainifest.xml或build.gradle。

创建单元测试文件夹

可以把单元测试文件夹放到你自己创建的文件夹中,也可以直接放在Android Studio默认的androidTest文件夹下。

image

新建测试类

Android Studio 1.5版自带的ApplicationTest类继承自ApplicationTestCase类,还可以继承InstrumentationTestCase或AndroidTestCase类。此处以InstrumentationTestCase为例。Instrumentation和Activity有点类似,只不过Activity 是需要一个界面的,而Instrumentation可以理解为一种没有图形界面的,具有启动能力的,用于监控其他类(用 Target Package声明)的工具类。下面是一段简单的测试代码:

import android.test.InstrumentationTestCase;
import android.test.suitebuilder.annotation.SmallTest;

public class ApplicationTest extends InstrumentationTestCase {

    @SmallTest
    public void test_case(){
        final int expected =5;
        final int reality = 5;
        assertEquals(expected, reality);
    }
}

通过assertEquals来判断两个参数是否相等,从而决定case是否通过。同理还有assertFalse/assertTrue/assertSame等。用例必须以test开头,否则不会被执行。

配置单元测试

1.点击"Run-> Edit Configurations"

image

2.点击左上角“+”号,从左上角选择添加一个 Android Tests,然后你可以将这个测试配置重新命名为"test"或与之相关的名字

image

3.从下拉菜单中选择你当前的module

image

4.选择"All in Package"选项,然后把你的刚才创建的测试文件夹选中。也可以选择“All in Module”选项,这样Android Studio会自动的找到你整个Module中的所有测试单元,也可以通过更具体的类或者是方法选项,进一步缩小测试范围。

image

5.现在点击"Apply"然后关闭,你现在应该可以看到你的测试案例已经作为一个可以运行的项目配置在Android Studio上面的工具栏上。。

image

运行单元测试

点击testcase运行,如果用例正确的话:

image

如果把reality = 1,使用例失败,结果是这样:

image