Android Studio中使用junit做单元测试

单元测试(unit testing),是指对软件中的最小可测试单元进行检查和验证。比如一个函数,一个方法等。关于单元测试要不要做,由谁来做这些问题暂时抛到一边。本文只是单纯的介绍如何用Android Studio做单元测试。

1. 确保你的工程添加了junit依赖,目前一般都会自动添加该项。

dependencies {

    testCompile 'junit:junit:4.12'
  
}

2. 在Android的test目录。

用Android Studio生成一个新的工程时,会默认生成两个test目录,如下图。我们就在这两个目录中编写单元测试的类。


Android Studio中使用junit做单元测试_第1张图片
image

3. 假如,我们想要做单元测试的类叫做Calculator,代码如下

public class Calculator {

    public int sum(int x,int y){
        return x+y;
    }

}

4. 利用Android Studio图形界面生成测试类的步骤如下所示:

  • 在编辑视图中选中当前类Calculator,点击右键,弹出如下界面,点击test
Android Studio中使用junit做单元测试_第2张图片
image
  • 在接下来的界面中选择Create New Test
Android Studio中使用junit做单元测试_第3张图片
image
  • 创建测试类的名字、需要测试的方法和所在的目录
Android Studio中使用junit做单元测试_第4张图片
image
  • 随便选一个目录作为测试类的目录
Android Studio中使用junit做单元测试_第5张图片
image
  • 好,最终生成了一个测试类,它刚开始是这样的
public class CalculatorTest {

    @Before
    public void setUp() throws Exception {
        mCalculator = new Calculator();
    }

    @After
    public void tearDown() throws Exception {

    }

    @Test
    public void sum() throws Exception {
       
    }
}

5. 在生成的测试类中编写测试逻辑

  • 在测试类中引用需要被测试的对象Calculator,在setUp中给它赋值。
  • 在sum方法中编写具体的测试逻辑,如代码所示,检测3+4是不是等于7
  • 新添加一个测试方法sum()2,测试3+4是不是等于6(这个显然不能通过测试)
public class CalculatorTest {

    private Calculator mCalculator;

    @Before
    public void setUp() throws Exception {
        mCalculator = new Calculator();
    }

    @After
    public void tearDown() throws Exception {

    }

    @Test
    public void sum() throws Exception {
        assertEquals(mCalculator.sum(3,4),7);
    }

    @Test
    public void sum2() throws Exception {
        assertEquals(mCalculator.sum(3,4),6);
    }

}

6. 运行单元测试

在测试类上点击右键,选则运行,如下图所示。

Android Studio中使用junit做单元测试_第6张图片
image

7. 结果示意图

结果如下图所示,符合我们的预期,有一个失败了。

Android Studio中使用junit做单元测试_第7张图片
image

你可能感兴趣的:(Android Studio中使用junit做单元测试)