最近时间比较多,去接触了一下测试这一块,有部分测试是开发人员必须兼备的能力,那就是单元测试。接下来简单介绍如何进行单元测试。
添加依赖包
首先我们要早到androidstudio目录下的lib文件夹,copy junit-4.12.jar包到项目的libs文件夹下,然后右键Add As Library。或者直接在build.gradle文件下的dependencies添加如下依赖:testCompile ‘junit:junit:4.12’。
在Project视图下的app/src/main/java中生成需要测试类,在类中写入需要测试的方法,然后选择该类名字右键 -> Go To -> Test
创建测试类说明事项
创建Test类时候需要勾选的东西如图所示
然后创建的Test类后会出现一个框说是将该类放在哪个文件夹中,这时候需要注意,放错有可以会导致问题出现。具体文件夹介绍如图所示
如何进行测试
在创建的Test类中的Before修饰的方法里面实例化被测试类,在需要测试的方法体里面写上相关内容进行验证,进行单元测试前需要开启模拟器或者连接手机。其中Assert.assertEquals(预期值,实际值,误差值)。
测试结果
测试成功
成功运行,进度条为绿色
测试失败
失败运行,进度条为红色,会给出失败的详细原因
测试途中遇到的问题
由于是大二写的东西搬运过来,所以部分图片已经缺失了。
点击单独运行sum方法会出现错误信息,原因是因为该CaculatorTest类没有继承TestCase类,只要继承TestCase类后就解决了该问题。(2.2版本就会报错,我现在用了3.5版本,不继承也不会报错了)
进行单元测试过程中出现了java.lang.ClassNotFoundException错误,百度以后找不到解决办法,睡醒以后才发觉可能自己放错文件夹了。
错误原因:在生成Junit单元测试类时候放在了Instrument测试类的文件夹上,下面是来自两个文件夹的解释