androidjunittest
『壹』 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();
}
}
}
『貳』 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.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
『肆』 幫我用android junit test測試一下。問題注釋里。 可以加分。謝謝。
要看報什麼錯先了。
『伍』 怎麼刪除android studio中的測試單元
Android 自帶的 junit單元測試的一些測試類(androidTest測試 需要運行在模擬機或真機上)
1、InstrumentationTestCase框架:
Instrumentation和Activity有點類似,只不過Activity是需要一個界面的,而Instrumentation並不是這樣的,我們可以將它理解為一種沒有圖形界面的,具有啟動能力的,用於監控其他類(用Target Package聲明)的工具類。
舉個例子,利用InstrumentationTestCase 啟動一個activity:
在androidTest下新建一個java類,並且繼承自InstrumentationTestCase編寫一個public void的方法,但是必須要是方法名以test打頭,比如testPublishSubject,並不需要@Test註解
?
1
2
3
4
5
6
7
8
public class TestSubject extends InstrumentationTestCase {
private static final String LOG_TAG = "test";
public void testPublishSubject() {
launchActivity("demo.zts.com.demo",SecondActivity.class,null);
}
}
2、ApplicationTestCase——測試整個應用程序的類。它允許你注入一個模擬的Context到應用程序中,在應用程序啟動之前初始化測試參數,並在應用程序結束之後銷毀之前檢查應用程序。
使用Context,你可以瀏覽資源,文件,資料庫等等。基類是AndroidTestCase,一般常見的是它的子類,和特定組件關聯。
測試代碼如下:
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
public class MyApp extends Application {
@Override
public void onCreate() {
super.onCreate();
『陸』 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
『柒』 Android Junit Test測試原理
我也在弄這個啊,android的單元測試是要把測試的目標apk和編譯出來的那個測試apk都要安裝上才可以測試的啊,你這不用模擬器在么測試啊,那就只能是在真機上面測試了啊,測試程序會調用你的被測試的程序代碼的,你如果不信可以打log看看啊。
『捌』 如何在Android中利用Instrumentation來進行測試
Android單元測試是通過junit框架來測試的。Android中建立JUnit測試環境有以下方法。集成步驟:1.在androidManifest.xml文件中添加以下代碼:2.新建一個測試測試類並繼承AndroidTestCase類,編寫測試方法,在測試方法內使用斷言assert來測試要測試的方法。3.點擊右面的大綱視圖,選擇要測試的方法,右鍵,runas--->AndroidJUnittest。
『玖』 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里的android Junit test時出現以下結果,搞不懂,求解,謝謝
要測試的方法前面要加test,你應該這樣命名
publicvoidtestResult()
不然是不會執行unit test的。