Тест Android JUnit не показывает тестовые бары (Eclipse) - PullRequest
0 голосов
/ 31 марта 2011

Я новичок в приложениях для разработчиков Android и пытаюсь использовать тестовую среду JUnit для тестирования приведенного ниже кода с классом ActivityInstrumentationTestCase2, с лекциями по TestingFundamentals в Android Docs.Но когда запускается Test, я не получаю никакой информации о тестах (красные, зеленые, синие столбцы в интерфейсе JUnit в Eclipse) (на самом деле я считаю, что тесты не выполняются, даже если консоль говорит «да»).

Вот код JUnit и файлы манифеста:

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());
}
}

Манифест (Активность):

<?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> 

Манифест (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> 

В Logcat я получаю это:

[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

и JUnit View, без проверки информации

Ответы [ 2 ]

1 голос
/ 11 ноября 2011

Используйте этот конструктор:

public SeekBarActivityTest() {
    super("gml.android.mixdroid", SeekbarActivity.class);
}
0 голосов
/ 01 апреля 2011
  1. В Eclipse щелкните правой кнопкой мыши свой тестовый проект и Запуск от имени -> Android JUnit Test
  2. Проверьте logcat в DDMS, вы увидите вывод
  3. Если все прошло хорошо, вы увидите результаты тестов в JUnit View
...