开发者

Android JUnit test does not show test bars (Eclipse)

I'm new in Android dev apps and trying to use JUnit test framework to test the code below, with ActivityInstrumentationTestCase2 class, with lectures on TestingFundamentals in Android Docs. But when Test runs, I'm not getting any info about the tests (the red, green, blue bars in JUnit interface in Eclipse) (in fact, I believe that the tests are not occurring, even with the console saying yes).

Android JUnit test does not show test bars (Eclipse)

Here are the JUnit code and Manifest Files:

package gml.android.mixdroid.test;
import java.util.ArrayList;
import gml.android.mixdroid.SeekbarActivity;
import android.test.ActivityInstrumentationTestCase2;
import android.widget.SeekBar;
import android.widget.TextView;

public class SeekBarActivityTest extends ActivityInstrumentationTestCase2<SeekbarActivity> {

private SeekbarActivity mActivity;
private ArrayList<SeekBar> mSeekBars;
private ArrayList<TextView> mProgress;
private ArrayList<TextView> mTracks;

public SeekBarActivityTest(String pkg, Class<SeekbarActivity> activityClass) {
    super("gml.android.mixdroid", SeekbarActivity.class);
}

public void setUp() throws Exception{
     super.setUp();
     mActivity = getActivity();
     mSeekBars = mActivity.getSeekBars();
     mProgress = mActivity.getProgressTextViews();
     mTracks = mActivity.getTrackingTextViews();

}

public void testPreconditions(){
    assertNotNull(mSeekBars);
    assertNotNull(mProgress);
    assertNotNull(mTracks);
    for(SeekBar s : mSeekBars){
        assertNotNull(s);
    }
    for(TextView p : mProgress){
        assertNotNull(p);
    }
    for(TextView t : mTracks){
        assertNotNull(t);
    }
}

public void testInitSeekBars() {
    assertEquals(SeekbarActivity.NUMBER_OF_SEEK_BARS, mSeekBars.size());
}

public void testInitTextViews() {
    assertEquals(SeekbarActivity.NUMBER_OF_SEEK_BARS, mTracks.size());
    assertEquals(SeekbarActivity.NUMBER_OF_SEEK_BARS, mProgress.size());
}
}

Manifest (Activity):

<?xml version="1.0" encoding="utf-8"?>
 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
  package="gml.android.mixdroid"
  android:versionCode="1"
  android:versionName="1.0">
<application android:icon="@drawable/icon" android:label="@string/app_name">
    <activity android:name=".SeekbarActivity"
              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>
<uses-sdk android:minSdkVersion="7" />

</manifest> 

Manifest( JUnit):

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
  android:versionCode="1"
  android:versionName="1.0" 
  package="gml.android.mixdroid.test">
<application 
    android:icon="开发者_如何学运维@drawable/icon"
     android:label="@string/app_name">
     <uses-library android:name="android.test.runner" />
</application>

<uses-sdk android:minSdkVersion="7" />
<instrumentation 
    android:targetPackage="gml.android.mixdroid.test" 
    android:name="android.test.InstrumentationTestRunner" 

    android:label="Tests for MixDroid App"/>
<activity 
    android:name="gml.android.SeekbarActivity"/>
</manifest> 

In Logcat I receive this:

[2011-04-03 03:51:48 - SeekbarTest] Project dependency found, installing: SeekbarActivity 
[2011-04-03 03:51:50 - SeekbarActivity] Application already deployed. No need to reinstall. 
[2011-04-03 03:51:50 - SeekbarTest] Launching instrumentation android.test.InstrumentationTestRunner on device emulator-5554 
[2011-04-03 03:51:53 - SeekbarTest] Collecting test information 
[2011-04-03 03:51:57 - SeekbarTest] Test run failed: Test run incomplete. Expected 1 tests, received 0

and JUnit View, no info test


Use this constructor:

public SeekBarActivityTest() {
    super("gml.android.mixdroid", SeekbarActivity.class);
}


  1. In Eclipse, right click on your Test project and Run As -> Android JUnit Test
  2. Check logcat in DDMS, you will see some output
  3. If everything went well, you'll see the tests results in JUnit View
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜