Android???????

???????????android??????????????????????????·????С?

????????? ??java???????????????JUnit?? ??????????android sdk (version 1.1)?????????stubbed methods/classes????о???????????????????JUnit?????????????????е????????????? ??JDK?????У?????java?????????JUnit?????Runner?????????Eclipse???????????Run Configuration????????JUnit???????????????Classpath?????Bootstrap Entries?е?Android Library???JRE?????????junit.jar??????????????ο???http://developer.android.com/guide/appendix/faq/troubleshooting.html#addjunit?? ??????????????????????????е?JUnit??????JDK???????????android??????????????Щ??android????????????????????????????????????????????????android api??

????????? ????Instrumentation. Android???????????????InstrumentationTestRunner????????JUnit????TestRunner?????á???????Instrumentation????????????ν???????????????????????????????(??Target Package????)????????κ?????Instrumentation?????????android.app.Instrumentation??

??????????????????????????????Instrumentation????????????

????Step 1.?????д????????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.

????????????д???????????????????add()?????????????????????£?????????????У??????test????????????????com.android.ut.test????????????????????class.???????£?

package com.android.ut.test;

import com.android.ut.AndroidUT;

import android.test.ActivityInstrumentationTestCase;

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

????Step 3.?????????????Manifest?????


      package="com.android.ut"
      android:versionCode="1"
      android:versionName="1.0.0">
   
                          android:label="@string/app_name">

 

??????????????????????????????

?????????

????Step 4.????

???????????????????????AndroidUT??????????????????????

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

?????????????????????????