<ruby id="h6500"><table id="h6500"></table></ruby>
    1. <ruby id="h6500"><video id="h6500"></video></ruby>
          1. <progress id="h6500"><u id="h6500"><form id="h6500"></form></u></progress>
            • 軟件測試技術(shù)
            • 軟件測試博客
            • 軟件測試視頻
            • 開(kāi)源軟件測試技術(shù)
            • 軟件測試論壇
            • 軟件測試沙龍
            • 軟件測試資料下載
            • 軟件測試雜志
            • 軟件測試人才招聘
              暫時(shí)沒(méi)有公告

            字號: | 推薦給好友 上一篇 | 下一篇

            基于A(yíng)ndroid系統的單元測試方法

            發(fā)布: 2011-1-25 10:18 | 作者: 網(wǎng)絡(luò )轉載 | 來(lái)源: 領(lǐng)測軟件測試網(wǎng)采編 | 查看: 184次 | 進(jìn)入軟件測試論壇討論

            領(lǐng)測軟件測試網(wǎng)

            Android單元測試

              如果想在android里面做單元測試,有兩條基本的路子可行。

              第一, 就是java程序員最為熟悉和常用的JUnit, 但是由于目前android sdk (version 1.1)中只是提供了stubbed methods/classes,沒(méi)有具體的實(shí)現代碼,所以如果用JUnit的話(huà),我們需要在運行單元測試時(shí),一定要 用JDK來(lái)運行,利用java命令來(lái)啟動(dòng)JUnit的某個(gè)Runner。如果是用Eclipse的話(huà),可以在Run Configuration里新建一個(gè)JUnit。但是一定要記得在Classpath選項卡里將Bootstrap Entries中的Android Library改成JRE,并且添加junit.jar。具體的設置可以參考:http://developer.android.com/guide/appendix/faq/troubleshooting.html#addjunit。 而且,更為遺憾的是,這種方法運行的JUnit運行在JDK之上的,而不是android,所以,只能測試一些和android無(wú)關(guān)的東西,比如業(yè)務(wù)邏輯,數據封裝,數值計算等等。并不能測試android api。

              第二, 采用Instrumentation. Android單元測試的主入口是InstrumentationTestRunner。它相當于JUnit當中TestRunner的作用。你可以將Instrumentation理解為一種沒(méi)有圖形界面的,具有啟動(dòng)能力的,用于監控其他類(lèi)(用Target Package聲明)的工具類(lèi)。任何想成為Instrumentation的類(lèi)必須繼承android.app.Instrumentation。

              下面通過(guò)一個(gè)實(shí)例來(lái)看一下如何通過(guò)Instrumentation來(lái)做單元測試。

              Step 1.首先編寫(xiě)需要測試的activity:

            package com.android.ut;

            import android.app.Activity;
            import android.os.Bundle;

            public class AndroidUT extends Activity {
                /** Called when the activity is first created. */
                @Override
                public void onCreate(Bundle savedInstanceState) {
                    super.onCreate(savedInstanceState);
                    setContentView(R.layout.main);
                }
               
                public int add(int a, int b)
                {
                    return a + b;
                }
            }

              Step 2.

              接下來(lái)編寫(xiě)測試類(lèi),其中主要來(lái)測試add()方法。我們在當前代碼目錄下,在新建一個(gè)文件夾,命名為test,并在里面新建了包c(diǎn)om.android.ut.test。然后往里面新增加一個(gè)class.具體如下:

            package com.android.ut.test;

            import com.android.ut.AndroidUT;

            import android.test.ActivityInstrumentationTestCase;

            public class TestApp extends ActivityInstrumentationTestCase<AndroidUT> {
               
                public TestApp()
                {
                    super("com.android.ut", AndroidUT.class);
                }
               
                public void testSum()
                {
                    assertEquals(5, getActivity().add(2, 3));
                }   
            }

              Step 3.最后一步就是要改一下Manifest文件。

            <?xml version="1.0" encoding="utf-8"?>
            <manifest xmlns:android="http://schemas.android.com/apk/res/android"
                  package="com.android.ut"
                  android:versionCode="1"
                  android:versionName="1.0.0">
                <application android:icon="@drawable/icon" android:label="@string/app_name">
                    <activity android:name=".AndroidUT"
                              android:label="@string/app_name">
                        <intent-filter>
                            <action android:name="android.intent.action.MAIN" />
                            <category android:name="android.intent.category.LAUNCHER" />
                        </intent-filter>
                    </activity>
                <uses-library android:name="android.test.runner" />
                </application>
                <instrumentation android:targetPackage="com.android.ut" android:name="android.test.InstrumentationTestRunner" android:label="Test Unit Tests"></instrumentation>
            </manifest>

              需要注意的是,在這里面我加上了:

              以及:

              Step 4.運行

              首先通過(guò)模擬器運行一下AndroidUT,然后在命令行終端中運行

              adb shell am instrument -e class com.android.ut.test.TestApp -wcom.android.ut/android.test.InstrumentationTestRunner

              這樣你就可以看到測試結果了。

            延伸閱讀

            文章來(lái)源于領(lǐng)測軟件測試網(wǎng) http://kjueaiud.com/

            TAG: Android android java JAVA Java 程序員 新建


            關(guān)于領(lǐng)測軟件測試網(wǎng) | 領(lǐng)測軟件測試網(wǎng)合作伙伴 | 廣告服務(wù) | 投稿指南 | 聯(lián)系我們 | 網(wǎng)站地圖 | 友情鏈接
            版權所有(C) 2003-2010 TestAge(領(lǐng)測軟件測試網(wǎng))|領(lǐng)測國際科技(北京)有限公司|軟件測試工程師培訓網(wǎng) All Rights Reserved
            北京市海淀區中關(guān)村南大街9號北京理工科技大廈1402室 京ICP備2023014753號-2
            技術(shù)支持和業(yè)務(wù)聯(lián)系:info@testage.com.cn 電話(huà):010-51297073

            軟件測試 | 領(lǐng)測國際ISTQBISTQB官網(wǎng)TMMiTMMi認證國際軟件測試工程師認證領(lǐng)測軟件測試網(wǎng)

            老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月
              <ruby id="h6500"><table id="h6500"></table></ruby>
              1. <ruby id="h6500"><video id="h6500"></video></ruby>
                    1. <progress id="h6500"><u id="h6500"><form id="h6500"></form></u></progress>