當前位置:首頁 » 安卓系統 » android的junit單元測試

android的junit單元測試

發布時間: 2022-09-13 07:53:57

『壹』 android studio1.5.1怎麼做單元測試

在Android Studio中可以進行單元測試
很多的文章指導你應該在「build.gradle」 文件裡面添加幾行代碼從而允許單元測試,並且告訴你應該在項目依賴中添加Android測試庫。
其實你並不需要按照這種錯誤的方式去做,因為這是完全沒有必要的。
Android Studio本身就支持Android單元測試,你只需要在你的項目中配置一下就可以了。
注意:還有好幾種廣受歡迎的Android單元測試框架,比如Robolectric,它們比我在這里提到的需要更多的配置,我希望在未來可以以這個題目再寫一些指導文章。
創建你的單元測試文件夾
我喜歡把單元測試放在我的主項目裡面,比如「com.mypath.tests.」 ,你可以把測試目錄放到你想要的地方。開始之前,像下面這樣,先創建你的測試文件夾。(譯者註:這一步不是必須的,你也可以把單元測試類創建在與Android Studio默認的ApplicationTest類相同的路徑下面)

接下來,創建一個叫做 「ExampleTest」的類,注意要繼承自InstrumentationTestCase類

然後可以添加一個簡單的測試代碼,我們知道這段代碼肯定會運行失敗
public class ExampleTest extends InstrumentationTestCase {
public void test() throws Exception {
final int expected = 1;
final int reality = 5;
assertEquals(expected, reality);
}
}1234567

注意:所有的測試方法必須以」test」開頭,這樣Android Studio才能自動的找到所有你想要進行單元測試的方法。
為你的項目配置單元測試
現在我們已經有了一個會運行失敗的測試單元,我們必須把它run起來。
首先點擊」Run-> Edit Configurations」

然後點擊「+」從左邊彈出的列表裡,選擇添加一個 Android Tests,然後你可以在右上角給它改名為你想要的名字。

然後就會創建一下像下面這樣的測試項目配置

從下拉菜單中選擇你當前的mole

接下來,選擇」All in Package」選項,然後把你的剛才創建的測試文件夾選中。你也可以選擇「All in Mole」選項,這樣Android Studio會自動的找到你整個Mole中的所有測試單元,你也可以通過另外的選項,指定某一個類甚至是測試方法。
做完這一切之後,看起來應該像下面這樣

我也喜歡選中下面的「Show chooser dialog」,這樣當每次運行的時候,我可以指定如何去運行

現在點擊」Apply」然後關閉,你現在應該可以看到你的測試案例已經作為一個可以運行的項目配置在Android Studio上面的工具欄上了

運行我們的單元測試
我使用Genymotion來完成所有的事情,所以開啟你的Genymotion然後運行test
在assertion這一行添加一個斷點,然後點擊 「run debug mode」,目的是為了證明Android Studio確實執行了我們的單元測試。

當你開始你的測試工程之後,你會看到一個叫做「Running Tests…」的顯示窗口

當你的測試沒有通過,點擊「Logcat」然後查看綜合的輸出結果,看下我們測試失敗的原因

通過控制台,你會發現給出的錯誤理由應該是
「junit.framework.AssertionFailedError: expected:<1> but was:<5>」1

『貳』 Android Junit Test測試原理

我也在弄這個啊,android的單元測試是要把測試的目標apk和編譯出來的那個測試apk都要安裝上才可以測試的啊,你這不用模擬器在么測試啊,那就只能是在真機上面測試了啊,測試程序會調用你的被測試的程序代碼的,你如果不信可以打log看看啊。

『叄』 如何在Android中利用Instrumentation來進行測試

Android單元測試是通過junit框架來測試的。Android中建立JUnit測試環境有以下方法。集成步驟:1.在androidManifest.xml文件中添加以下代碼:2.新建一個測試測試類並繼承AndroidTestCase類,編寫測試方法,在測試方法內使用斷言assert來測試要測試的方法。3.點擊右面的大綱視圖,選擇要測試的方法,右鍵,runas--->AndroidJUnittest。

『肆』 android 單元測試用例怎麼寫

首先我們需要先下載相應的 JUnit 相關的 JAR 包,下載的過程可以去 JUnit 的官方網站,也可以直接通過 Maven 資源倉庫來完成。

使用簡單的 @Test 註解實現我們的測試方法的編寫和執行
准備工作做好之後,接下來我們就可以開始嘗試編寫壹個簡單的測試代碼了。首先,我們編寫了壹個 Calculator 類,並提供五個方法分別完成加減乘除以及求平方的運算。代碼如下:

package net.oschina.rrfhoinn.main;
public class Calculator {
public void add(int n){
result += n;
}
public void substract(int n){
result -= n;
}
public void multiply(int n){
result *= n;
}
public void divide(int n){
result /= n;
}
public void square(int n){
result = n * n;
}
public int getReuslt(){
return result;
}
public void clear(){
result = 0;
}
private static int result;
}

『伍』 Android Studio的兩種單元測試:Androud單元測試和Junit單元測試有什麼區別

測試環境都是依賴於某一個環境的,junit就是和main函數一樣,沒有什麼環境依賴直接運行,安卓單元測試的話無非也是測試某些函數,測試介面是否正常,那麼就可以用到 mockito這個框架,也就是說可以模擬一些平時不好debug的情況 例如

DbConnect conn = mock(DbConnect);

when(conn.query(anyInt())).thenReturn("{json數據或者其他}");

這樣我們就能夠比較科學的測試我們想要的函數行為是否正常了,貼一個我的博客鏈接,你可以直接點mockito官網 網頁鏈接也可以看看我的blog哦網頁鏈接

『陸』 android junit單元測試怎麼獲得context

package com.test.hellojunit;

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

public class MainActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
}

『柒』 android junit測試用例怎麼寫

JUnit 基本原理
一個 JUnit 測試包含以下元素:
測試用例組成
開發代碼部分 測試代碼部分 測試工具部分
待測試類 A 通過擴展 TestCase 或者構造 TestSuit 方法
編寫測試類 B 一個測試運行器(TestRunner)R,可以選擇圖形界面或文本界面
操作步驟:
將 B 通過命令行方式或圖形界面選擇方式傳遞給 R,R 自動運行測試,並顯示結果。
首先看下junit測試類庫和android中單元測試類庫:
SDK 功能說明
junit.framework JUnit測試框架
junit.runner 實用工具類支持JUnit測試框架
android.test Android 對JUnit測試框架的擴展包
android.test.mock Android的一些輔助類
android.test.suitebuilder 實用工具類,支持類的測試運行
在這些包中最為重要的是: junit.framework、 android.test,其中前者是JUnit的核心包,後者是Andoid SDK在Junit.framework的基礎上擴展出來的包。

『捌』 android studio怎麼用junit

java開發中使用junit進行單元測試是常有的事,那麼android中呢?答案是肯定的,也可以!

使用方式也非常的簡單,只需要在AndroidManifest.xml幾加入兩行配置,然後寫個一類繼承AndroidTestCase類即可,其它的跟java使用junit是一樣的(比如http://www.tiecou.com)。

AndroidManifest.xml示例代碼:

<?xmlversion="1.0"encoding="utf-8"?>
<manifestxmlns:android="http://schemas.android.com/apk/res/android"
package="com.javake.hzy.filesave"
android:versionCode="1"
android:versionName="1.0">
<uses-sdkandroid:minSdkVersion="8"/>
<!--junit測試配置關鍵配置第一處-->
<instrumentationandroid:name="android.test.InstrumentationTestRunner"
android:targetPackage="com.javake.hzy.filesave"android:label="myapptest"/>
<applicationandroid:icon="@drawable/icon"android:label="@string/app_name">
<!--junit測試配置關鍵配置第二處-->
<uses-libraryandroid:name="android.test.runner"/>
<activityandroid:name=".FileSave"
android:label="@string/app_name">
<intent-filter>
<actionandroid:name="android.intent.action.MAIN"/>
<categoryandroid:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>

</application>
</manifest>

單元測試類示例代碼:

packagecom.javake.hzy.filesave;
importjava.io.FileOutputStream;
importandroid.content.Context;
importandroid.test.AndroidTestCase;

/**
*測試類用於測試文件讀寫相關操作
*單元測試只需要繼承AndroidTestCase類
*測試方法前用test做為前綴即可
*測試時右鍵runas彈出菜單中選擇AndroidJUnitTest
*@authorhzy
*
*/
{
/**
*測試方法1,創建文件並寫入字元串
*/
publicvoidtest01(){
Contextcontext=this.getContext();
System.out.println(context);
try{
FileOutputStreamout=context.openFileOutput("hello.txt",Context.MODE_PRIVATE);
out.write("helloworldmynameishzy".getBytes());
out.close();
}catch(Exceptione){
e.printStackTrace();
}
}
}

『玖』 as中android junit單元測試怎麼用

進行Android單元測試 Menifest.xml中加入: <application>中加入: <uses-library android:name="android.test.runner" /> <application>外面加入: <uses-permission android:name="android.permission.RUN_INSTRUMENTATION" /> <instrumentation android:name="android.test.InstrumentationTestRunner" android:targetPackage="name.feisky.android.test" android:label="Test for my app"/> 編寫單元測試代碼:必須繼承自AndroidTestCase類 package name.feisky.android.test; import android.test.AndroidTestCase; import junit.framework.Assert; public class MyTest extends AndroidTestCase { private static final String Tag="MyTest"; public void testSave() throws Throwable { int i=4+8; Assert.assertEquals(5,i); } public void testSomethingElse() throws Throwable { Assert.assertTrue(1 + 1 == 12); } } 執行測試 IntelliJ中: eclipse中:右鍵 run as Android JUnit Test 命令行工具: adb shell am instrument -w name.feisky.android.test/android.test.InstrumentationTestRunner 也可以新建一個測試項目進行測試 New > Project > Android > Android Test Project. 添加測試用例類 添加新類,基類設置為android.test.<HelloAndroid> 添加構造函數 添加setUp()方法,這個方法在所有的測試之前進行變數和測試環境的初始化。 @Override protected void setUp() throws Exception { super.setUp(); mActivity = this.getActivity(); mView = (TextView) mActivity.findViewById(com.example.helloandroid.R.id.textview); resourceString = mActivity.getString(com.example.helloandroid.R.string.hello); } 添加testPreconditions()方法,檢查初始化環境,只執行一次 public void testPreconditions() { assertNotNull(mView); } 添加單元測試 public void testText() { assertEquals(resourceString,(String)mView.getText()); } 測試 Run As... > Android JUnit Test

熱點內容
安卓查看資料庫 發布:2025-03-26 19:52:13 瀏覽:131
最好加密狗 發布:2025-03-26 19:51:26 瀏覽:481
c編譯器能跑c代碼嗎 發布:2025-03-26 19:49:29 瀏覽:761
linuxwar解壓縮命令 發布:2025-03-26 19:44:29 瀏覽:821
伺服器怎麼轉換中文 發布:2025-03-26 19:40:15 瀏覽:570
岩棉板演算法 發布:2025-03-26 19:34:44 瀏覽:873
怎麼讓手機上密碼 發布:2025-03-26 19:13:40 瀏覽:580
linux換網卡 發布:2025-03-26 19:13:28 瀏覽:520
人人網相冊怎麼加密 發布:2025-03-26 19:08:40 瀏覽:643
b站緩存罪惡王冠 發布:2025-03-26 19:04:09 瀏覽:438