package com.itheima.junit; 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); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } }
package com.itheima.junit.test; import com.itheima.junit.utils.Utils; import android.test.AndroidTestCase; //黑盒测试(不懂代码) //白盒测试(懂代码) public class TestCase extends AndroidTestCase { //#单元测试junit(测试功能不用启动整个项目) public void test(){//不是重写的方法,鼠标右键就可以跑起来了。 int result = Utils.add(3, 5); //断言:用来检测实际值与期望值是否一致 //断言的作用,检测运行结果和预期是否一致 //如果应用出现异常,会抛给测试框架 assertEquals(8, result);//8是期望值,result是实际值。 } public void test2(){ Utils.chuyi(2, 1); } }
package com.itheima.junit.utils; public class Utils { public static int add(int i, int j){ return i + j; } public static void chuyi(int i, int j){ int result = i / j; } }
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.itheima.junit"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="17" />
* 在指定指令集时,targetPackage指定你要测试的应用的包名
<instrumentation
android:name="android.test.InstrumentationTestRunner"
android:targetPackage="com.itheima.junit" 项目的包名,就是上面的manifest的package="com.itheima.junit"
></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.itheima.junit.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>
原文:http://www.cnblogs.com/yaowen/p/4926700.html