1

Android のエスプレッソ テストの設定/実行で問題が発生しています。私の TestClass は以下のようになります:-

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 InGoogleInstrumentationTestRunnerを InstrumentationRunner として使用するように更新されています。

ただし、テストを実行すると、コンソールに以下が表示されます:-

  • デバイス emulator-5554 でインストルメンテーション android.test.InstrumentationTestRunner を起動する
  • Eclipse へのテスト情報の送信
  • テスト終了

テストの実行については言及されておらず、テストは実行されません。ここで何が欠けているのでしょうか?

4

1 に答える 1

3

わかりましたので、これが私が最終的に解決した方法です。テストクラスのコンストラクターを以下に変更しました:-

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

そしてそれは働き始めました。これが私を一日中忙しくしていた理由だったのはちょっと奇妙です.

于 2014-04-09T23:12:06.673 に答える