1

BroadcastReceiverをテストするためにAndroidTestCaseを拡張する単体テストを作成しようとしています。テストでは私は:

  • 受信機のインスタンス化
  • 必要なアクションと追加のパラメーターを使用してインテントを作成する
  • インテントとgetContext()を使用してレシーバーを呼び出す

Android JUnit Testとしてデバッグをクリックすると、エミュレーター(正常に起動して使用可能)を起動することから始まり、実際のテストを起動しようとすると27%でハングし、発生しません。

私は何が間違っているのですか?

編集、コードスニペット

    public class RemoteControlReceiverTest extends AndroidTestCase {
    public RemoteControlReceiverTest() {
        super();
    }

    private RemoteControlReceiver mReceiver;
    private String accountSettings;

    @Override
    protected void setUp() throws Exception
    {
        super.setUp();

        mReceiver = new RemoteControlReceiver();
        accountSettings = "<y>gmail</y><u></u><n>test</n><t>smtp+ssl+://::@:25</t><s>imap+ssl+://:test@:143</s>";
    }

    public void testStartActivity()
    {   
        Intent addIntent = new Intent();
        addIntent.setAction("com.kaseya.email.K9RemoteControl.addAccount");
        addIntent.putExtra("accountSettings", accountSettings);

        mReceiver.onReceive(getContext(), addIntent);
    }
}

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

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

        <instrumentation
            android:name="android.test.InstrumentationTestRunner"
            android:targetPackage="com.kaseya.email" />

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

    </manifest>
4

0 に答える 0