2014-04-09 4 views
1

У меня возникли проблемы с настройкой/запуском эспрессо-тестов для Android. Мои TestClass выглядит следующим образом: -Не удалось запустить тесты эспрессо для android

import static com.google.android.apps.common.testing.ui.espresso.Espresso.onView; 
import static com.google.android.apps.common.testing.ui.espresso.action.ViewActions.click; 
import static com.google.android.apps.common.testing.ui.espresso.assertion.ViewAssertions.matches; 
import static com.google.android.apps.common.testing.ui.espresso.matcher.ViewMatchers.withId; 
import static com.google.android.apps.common.testing.ui.espresso.matcher.ViewMatchers.withText; 
import android.test.ActivityInstrumentationTestCase2; 
import android.util.Log; 

import com.sample.rasmus.MainActivity; 

public class BasicTest extends ActivityInstrumentationTestCase2<MainActivity> { 

public BasicTest(String name) { 
    super(MainActivity.class); 
    Log.v("amtesting","2"); 
} 
@Override 
    public void setUp() throws Exception { 
     Log.v("amtesting","5"); 
    super.setUp(); 
    Log.v("amtesting","4"); 
    // Espresso will not launch our activity for us, we must launch it via getActivity(). 
    getActivity(); 
    } 

public void testSimpleClickAndCheckText(){ 
    Log.v("amtesting","1"); 
    onView(withId(com.sample.rasmus.R.id.thebutton)).perform(click()); 
    onView(withId(com.sample.rasmus.R.id.helloworld)).check(matches(withText("awesome"))); 
} 

protected void tearDown() throws Exception { 
    Log.v("amtesting","3"); 
    super.tearDown(); 

} 

    } 

AndroidManifest.xml выглядит следующим образом: -

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
package="com.sample.rasmus.test" 
android:versionCode="1" 
android:versionName="1.0" > 

<uses-sdk android:minSdkVersion="14" /> 

<instrumentation 
    android:name="com.google.android.apps.common.testing.testrunner.GoogleInstrumentationTestRunner" 
    android:targetPackage="com.sample.rasmus" /> 

<application 
    android:icon="@drawable/ic_launcher" 
    android:label="@string/app_name" > 
    <uses-library android:name="android.test.runner" /> 
</application> 

</manifest> 

и конфигурации пробег были обновлены, чтобы использовать Google В GoogleInstrumentationTestRunner как InstrumentationRunner.

Однако, когда я запускаю тесты, он дает мне ниже на консоли: -

  • Запуск приборного android.test.InstrumentationTestRunner на устройстве эмулятора-5554
  • Отправка информации тест затмить
  • Тест завершен

Нет никаких упоминаний о текущих испытаниях и испытаниях не выполняются. Что мне здесь не хватает?

ответ

3

Хорошо, так вот, как я окончательно решил это. Я изменил конструктор испытательного класса ниже: -

public BasicTest() { 
    super(MainActivity.class); 
} 

и он начал работать. Странно, что именно по этой причине я весь день занимался этим занятием.

Смежные вопросы