单元测试那些事

一、什么是单元测试

单元测试(模块测试)是开发者编写的一小段代码,用于检验被测代码的一个很小的、很明确的功能是否正确。你的代码纵然编译通过,只是说明了它的语法正确;我们却无法保证它的语义也一定正确,有些错误是编译无法察觉的,单元测试恰恰有助于帮助你解决这个问题,单元测试是用于测试当前代码在某个场合与特定条件,这段代码(函数)的表现是否与我们预期一致,有助于我们验证他的表现行为与我们是否一致。

二、使用Android Studio进行单元测试

在Android Studio中进行单元测试并不需要什么插件或者过多的配置,Android Studio本身就集成了测试环境,无论是单纯的java代码单元测试还是依赖Android SDK的Android代码单元测试都可以。 

(一) 在建立一个项目的时候,默认已经建立了测试例子。结构如下:


分析一下:
(1)androidTest这个文件夹里的测试类主要是对android的例子进行单元测试。需要运行于设备之上。
(2)test这个文件夹的测试类主要对java的例子进行单元测试,无需运行于设备之上。


(二)你的gradle中加入Junit的依赖,注意这里的依赖方式是测试期间的依赖(testCompile):(如下图)

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


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、如果我写两个测试方法在同一个类结果如何?我写了一个失败的测试方法,一个成功的测试方法(如下图代码与结果)。 



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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值