文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Android中如何使用JUnit进行单元测试

2022-06-06 12:57

关注

  在我们日常开发android app的时候,需要不断地进行测试,所以使用JUnit测试框架显得格外重要,学会JUnit可以加快应用的开发周期。   Android中建立JUnit测试环境有以下两种方法。   一、直接在需要被测试的工程中新建测试类   集成步骤:   1.在androidManifest.xml文件中添加以下代码:

 

<instrumentation android:name="android.test.InstrumentationTestRunner" android:targetPackage="com.example.junittest" android:label="@string/app_name" ></instrumentation>

  <uses-library android:name="android.test.runner"/>   以上代码配置是添加测试指令和引入测试环境,完整的清单文件如下:

 

<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.junittest" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="18" /> <instrumentation android:name="android.test.InstrumentationTestRunner" android:targetPackage="com.example.junittest" android:label="@string/app_name" ></instrumentation> <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <uses-library android:name="android.test.runner"/> <activity android:name="com.example.junittest.MainActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest>

  2.新建一个测试测试类并继承AndroidTestCase类,编写测试方法,在测试方法内使用断言assert来测试要测试的方法。   3.点击右面的大纲视图,选择要测试的方法,右键,run as --->Android JUnit test   下面通过一个简单的示例来演示一下如何使用JUnit单元测试   1、先创建简单的待测试类Calculator.java

 

package com.example.junittest; public class Calculator { public int add(int x,int y){ return x+y; } public int sub(int x,int y){ return x-y; } public int divide(int x,int y){ return x/y; } public int multiply(int x,int y){ return x*y; } }

  2、创建一个测试类,此类需要继承自AndroidTestCase

  示例代码如下:

 

package com.example.test; import junit.framework.Assert; import com.example.junittest.Calculator; import android.test.AndroidTestCase; import android.util.Log; public class CalculatorTester extends AndroidTestCase { private static final String TAG = CalculatorTester.class.getSimpleName(); private Calculator calculator; @Override protected void setUp() throws Exception { Log.e(TAG, "setUp"); calculator = new Calculator(); super.setUp(); } public void testAdd() throws Exception{ int result = calculator.add(3, 5); Assert.assertEquals(8, result); } public void testDivide() throws Exception{ int result = calculator.divide(10, 0); Assert.assertEquals(10, result); } @Override protected void tearDown() throws Exception { Log.e(TAG, "tearDown"); calculator = null; super.tearDown(); } }

  一个好的习惯是每个测试方法都抛出异常:throws Exception,然后通过Assert对结果进行断言。   3、通过大纲视图运行测试方法

  绿条表示测试通过,在代码中我们测试的时3+5是否等于8,所以结果肯定是通过的,如果我们把assertEquals()中的8改为5的话,会出现以下结果:

  红条表示测试没通过,点击右边的错误信息可以定位到出错的代码行。

  二、创建一个专门用于测试的工程   推荐创建专门的测试工程,因为这样可以降低代码的耦合度。   集成步骤:   1.新建工程,选择new ---- >   other  ---->android Test Project

  2.选择要测试的工程

  3.接着和第一种建立测试类的方法是一样的,这里比较简单略过了。   使用这种方法的话,androidManifest.xml中已经自动配置好相关的参数,无需在进行配置,比较方便。

 


阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-移动开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯