在java开发中使用junit进行单元测试是常有的事,那么android中呢?答案是肯定的,也可以!
使用方式也非常的简单,只需要在AndroidManifest.xml几加入两行配置,然后写个一类继承AndroidTestCase类即可,其它的跟java使用junit是一样的。
AndroidManifest.xml示例代码:
- <?xml version="1.0" encoding="utf-8"?>
- <manifest xmlns:android="http://schemas.android.com/apk/res/android"
- package="com.javake.hzy.filesave"
- android:versionCode="1"
- android:versionName="1.0">
- <uses-sdk android:minSdkVersion="8" />
- <!-- junit测试配置关键配置第一处 -->
- <instrumentation android:name="android.test.InstrumentationTestRunner"
- android:targetPackage="com.javake.hzy.filesave" android:label="my app test"/>
- <application android:icon="@drawable/icon" android:label="@string/app_name">
- <!-- junit测试配置关键配置第二处 -->
- <uses-library android:name="android.test.runner" />
- <activity android:name=".FileSave"
- 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>
单元测试类示例代码:
- package com.javake.hzy.filesave;
- import java.io.FileOutputStream;
- import android.content.Context;
- import android.test.AndroidTestCase;
- /**
- * 测试类用于测试文件读写相关操作
- * 单元测试只需要继承AndroidTestCase类
- * 测试方法前用test做为前缀即可
- * 测试时右键run as弹出菜单中选择Android JUnit Test
- * @author hzy
- *
- */
- public class MyTest extends AndroidTestCase {
- /**
- * 测试方法1,创建文件并写入字符串
- */
- public void test01() {
- Context context = this.getContext();
- System.out.println(context);
- try {
- FileOutputStream out = context.openFileOutput("hello.txt", Context.MODE_PRIVATE);
- out.write("hello world my name is hzy".getBytes());
- out.close();
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- }