一、什么是单元测试
单元测试(模块测试)是开发者编写的一小段代码,用于检验被测代码的一个很小的、很明确的功能是否正确。你的代码纵然编译通过,只是说明了它的语法正确;我们却无法保证它的语义也一定正确,有些错误是编译无法察觉的,单元测试恰恰有助于帮助你解决这个问题,单元测试是用于测试当前代码在某个场合与特定条件,这段代码(函数)的表现是否与我们预期一致,有助于我们验证他的表现行为与我们是否一致。
二、使用Android Studio进行单元测试
在Android Studio中进行单元测试并不需要什么插件或者过多的配置,Android Studio本身就集成了测试环境,无论是单纯的java代码单元测试还是依赖Android SDK的Android代码单元测试都可以。
(一) 在建立一个项目的时候,默认已经建立了测试例子。结构如下:

分析一下:
(1)androidTest这个文件夹里的测试类主要是对android的例子进行单元测试。需要运行于设备之上。
(2)test这个文件夹的测试类主要对java的例子进行单元测试,无需运行于设备之上。
(二)你的gradle中加入Junit的依赖,注意这里的依赖方式是测试期间的依赖(testCompile):(如下图)

(三)开始例子编写了:
我们简单分析一下它自动生成的一个示范例子:

1、在写Java单元测试的时候一定要写@Test这个Junit的注解才可以跑得正确哦。
2、assertEquals(断言)这个函数是验证期待值与实际值的等同性函数而已(后面会有其它复杂的验证)。
3、跑起来验证是否成功。右键选择测试类ExampleUnitTest,run(如图)

4、看一下结果(成功如下图)
5、举一下失败例子(代码与结果如下图)
结果:期待值是3,然而实际值是4哦。
6、继续失败例子(代码与结果如下图)
结果:为什么会这样子呢?因为用了Android的代码,所以这样子了,这就引出我们的Android测试例子。
(2)Android例子
1、在androidTest里建立一个TestApp类InstrumentationTestCase
2、编写一个public void的方法,但是必须要是方法名以test打头,比如testJust,并不需要@Test注解。(代码与结果如下图,请注意使用Android studio的自带单元测试运行Android 测试类需要设备哦)
选择测试类右键run.
3、举一个失败例子,没有以test开头的方法,(代码与结果如下图)
结果:木有找到测试方法。
4、我们试一下期待值与真实值不同的例子。

结果里面写着期待值是1,但是结果是2.
5、如果我写两个测试方法在同一个类结果如何?我写了一个失败的测试方法,一个成功的测试方法(如下图代码与结果)。

结果显示一个通过,一个不通过。