我的AndroidStudio

我的AndroidStudio是2.1.1版本,但是进行单元测试应该很早的版本就可以了,至少可以追溯到1.0

注意事项

当你google查找AndroidStudio单元测试时,有大量的资料教程,但是都不完整,至少跟着教程一步步的是无法看到自己想看的效果的。AndroidStudio自带的单元测试功能是不需要修改gradle或者AndroidManifest.xml文件的。直接编写测试用例即可。

编写测试用例步骤

以下以一个由AndroidStudio一步步创建的全新工程为例

在src目录下会包含三个目录:

- androidTest.java.[包名]

main.java.[包名]

test.java.[包名]

- mian目录下为项目代码,androidTest目录下为编写Android测试用例使用,test目录下未编写Java测试用例使用。

gradle文件

已自动增加testCompile "junit:junit:4.12" 用于Java编写执行Java测试用例。

编写Java测试用例

import org.junit.Test;

import static org.junit.Assert.*;

/**

* To work on unit tests, switch the Test Artifact in the Build Variants view.

*/

public class ExampleUnitTest {@Test

public void addition_isCorrect() throws Exception {

System.out.print("ssss");

assertEquals(4, 2 + 2);

}

}1

2

3

4

5

6

7

8

9

10

11

12

13

14

右键菜单执行测试用例

编写Android测试用例

因为项目创建时自动在main.java.[包名]创建了MainActivity.java,一个最简洁显示HelloWord的页面。先运行它在模拟器上安装HelloWord。

然后我在androidTest.java.[包名]文件夹中添加了一个类MainActivityTest,该类派生自ActivityInstrumentationTestCase2,并写了一个方法,完整代码如下:

import android.test.ActivityInstrumentationTestCase2;

import android.widget.TextView;

public class MainActivityTest extends ActivityInstrumentationTestCase2 {

private MainActivity mMainActivity;

private TextView mTextView;

public MainActivityTest() {

super(MainActivity.class);

}

@Override

protected void setUp() throws Exception {

super.setUp();

//Sets the initial touch mode for the Activity under test. This must be called before

//getActivity()

setActivityInitialTouchMode(true);

//Get a reference to the Activity under test, starting it if necessary.

mMainActivity = getActivity();

//Get references to all views

mTextView = (TextView) mMainActivity.findViewById(R.id.tv_text);

}

/**

* Tests the preconditions of this test fixture.

*/

public void testPreconditions() {

System.out.print("ssss111");

assertNotNull("mTextView is null", mTextView);

}

@Override

protected void tearDown() throws Exception{

mMainActivity.finish();

}

}

右键运行它,它会验证页面上是否存在Hello Word!这文本所在的控件

2

3

4

5

6

7

8

9

10

11

12

android studio 单元测试用法,基于Android Studio2.1.1 进行单元测试完整教程相关推荐

  1. android studio绘制统计图,基于Android Studio的饼图账单的设计与开发_毕业论文.doc

    基于Android Studio的饼图账单的设计与开发_毕业论文 Anhui Vocactional & Technical College of Industry & Trade 毕 ...

  2. android studio 健身软件,基于Android的健身助手设计与实现.doc

    摘要:科学技术日新月异,人们的生产工具较过去有了很大的变化.生产力的不断进步使得人们越来越多的放弃手工生产,转而坐在电脑面前,通过电脑办公.这虽然极大的提高了生产办公效率,但由于长期处于坐的姿势以及长 ...

  3. android studio 测试工具,使用Android Studio进行单元测试

    Android Studio已经到了1.2版本,国内的开发者基本也在从Eclipse向Android Studio进行转变,对于Android开发者,以后必将是Android Studio的天下. 昨 ...

  4. Android Studio 是谷歌基于IntelliJ IDEA开发的安卓开发工具,有点类似 Eclipse ADT,Android Studio 提供了集成的 Android 开发工具用于开发和调

    Android Studio 是谷歌基于IntelliJ IDEA开发的安卓开发工具,有点类似 Eclipse ADT,Android Studio 提供了集成的 Android 开发工具用于开发和调 ...

  5. Android开发介绍(基于Android Studio软件)

    Android开发介绍(基于Android Studio软件) 关于Android开发,笔者走过一些弯路,因此今天总计了有关Android开发的一些内容和心得,希望对大家有所帮助.首先来一张安卓开发者 ...

  6. android+studio入门指南+pdf,android+studio使用指南v0.1.pdf

    androidstudio使用指南v0.1 <Android Studio入门指南>作者:毕小朋 博客:/wirelessqa Android Studio入门指南v0.1 作者:毕小朋 ...

  7. Android开发自学笔记(基于Android Studio1.3.1)—1.环境搭建(转)

    一.引言    本套学习笔记的开发环境是Windows 10 专业版和Android Studio 的最新版1.3.1. Android Studio 是一个Android开发环境,基于Intelli ...

  8. Android Studio(3)---Android Studio的配置

    Android Studio配置 Android Studio 提供诸多向导和模板,可用于验证系统要求(例如 Java 开发工具包 (JDK) 和可用内存)和配置默认设置(例如优化的默认 Androi ...

  9. 视频教程-Android Studio 开发详解-Android

    Android Studio 开发详解 1999年开始从事开发工作,具备十余年的开发.管理和培训经验. 在无线通信.Android.iOS.HTML5.游戏开发.JavaME.JavaEE.Linux ...

最新文章

  1. 斐波那契数列(fabnacci)java实现
  2. 配置_DruidDataSource参考配置
  3. excel数据透视表列名更改
  4. tf rnn layer
  5. JavaScript学习笔记07【6个经典案例——电灯开关、轮播图、自动跳转首页、动态表格、表格全选、表单验证】
  6. 【HDU - 1009 】FatMouse' Trade (贪心)
  7. windows下anaconda环境激活报错CommandNotFoundError: Your shell has not been properly configured to use ‘con
  8. 认真学习系列:编译原理——B站笔记
  9. Unity3D实习生面试题总结-图形学相关
  10. Python自学教程3-英语不好,变量怎么命名
  11. T32 获取电脑Product ID
  12. RMAN备份数据库_为长期存储做数据库备份(归档备份,Archival Backup)
  13. LeetCode算法日记:340.至多包含K个不同字符的最长子串
  14. 运维标准化与流程化建设深度指南(转)
  15. 【控制】模型预测控制 model predictive control 简介
  16. 基于Java的服务器应用监控系统设计与实现
  17. 三极管相关知识点释疑(一)
  18. 短波宽带通信系统的信道建模仿真及优化
  19. 关键对话:如何高效能沟通
  20. matlab 期权 函数,Matlab分析期权定价

热门文章

  1. delete指针的含义
  2. 代码还原,IDA中使用的宏
  3. js:基于原生js的上啦下啦刷新功能
  4. 编程不需要天赋和激情
  5. CPU虚拟化的常见技术
  6. (转)KeyDown、KeyUp、KeyPress区别
  7. HDLM命令dlnkmgr详解之二__help/clear
  8. VC++6.0 内存泄露(Memory Leaks)征兆1
  9. 程序中变量分布的区域总结 堆 栈 字符常量区 全局数据区 静态存储区
  10. ElasticSearch启动报错curl: (7) Failed connect to 172.19.128.56:9200; 拒绝连接---ElasticSearch工作笔记029