AndroidStudio单元测试——instrumentation

转自 

http://blog.csdn.net/harvic880925/article/details/38060361

亲测成功 

 

AndroidStudio单元测试——instrumentation

分类: 5、andriod开发   7739人阅读  评论(11)  收藏  举报
 

目录(?)[+]

 

前言:这几天老大要我搞代码自动测试,eclispe的已经解决了,可他们都是用android studio,所以要在android studio 上重新试验,这个有难度啊,android studio国内资料极少,更不要说单元测试了。google了一两天才最终解决了这个问题,写个Demo分享给大家。

 

一、写在前面

1、我的android studio版本

AndroidStudio单元测试——instrumentation_第1张图片

2、注意事项

当你google的时候,你会发现铺天盖地的资料让你设置build.gradle,以寻求android studio对测试的支持,其实这些是完全没必要的!!!!android studio默认对测试是支持的,所以不用在build.gradle中添加任何的设置语句。

 

二、代码

1、新建test文件夹

在要测试工程目录的兄弟目录,新建一个test文件夹,如图:

AndroidStudio单元测试——instrumentation_第2张图片

2、测试代码

我在这个test文件夹中添加了一个类EexampleTest,该类派生自InstrumentationTestCase,并写了一个方法,完整代码如下:

 

[java]  view plain copy 在CODE上查看代码片
 
  1. public class ExampleTest extends InstrumentationTestCase {  
  2.   
  3.         public void test() throws Exception {  
  4.             final int expected = 1;  
  5.             final int reality = 1;  
  6.             assertEquals(expected, reality);  
  7.         }  
  8. }  
注意:在android studio中,所有的测试代码必须以test-作为前缀,不然android studio无法识别它为测试代码。

 

三、测试

在android studio一排按钮的最上层,点击“运行”旁边的配置按钮

打开配置对话框,选择Android Test

AndroidStudio单元测试——instrumentation_第3张图片

右侧Module选择你的工程名,这里是app

Test: 部分选择All in Package

Package:选择当前新建的test文件夹

AndroidStudio单元测试——instrumentation_第4张图片

整体配置好之后是这样的

AndroidStudio单元测试——instrumentation_第5张图片

运行出结果:

测试通过的结果是这样子的:

AndroidStudio单元测试——instrumentation_第6张图片

如果我们把test()的代码改成这样子:

 

[java]  view plain copy 在CODE上查看代码片
 
  1. public void test() throws Exception {  
  2.     final int expected = 1;  
  3.     final int reality = 3;  
  4.     assertEquals(expected, reality);  
  5. }  
明显1不等于3,所以assertEquals肯定会出错!
所以出错的结果是这样子的:(在中间窗口logcat中可以定位到出错位置)

 

AndroidStudio单元测试——instrumentation_第7张图片

 

OK,That's all……

 

参考文章:《Unit Test With Android Studio》:http://rexstjohn.com/unit-testing-with-android-studio/  (

 

源码地址:http://download.csdn.net/detail/harvic880925/7667341

 

请大家尊重原创者版权,转载请标明出处:http://blog.csdn.net/harvic880925/article/details/38060361  万分感激!

你可能感兴趣的:(android)