jeudi 3 décembre 2015

java.lang.ClassCastException: android.app.Application cannot be cast to com.google.android.apps.common.inject.InjectedApplication

I'm trying t use Robolectric

@RunWith(RobolectricTestRunner.class)
@Config(
        manifest = "...mypath.../AndroidManifest.xml",
        qualifiers = "fr-normal-port-hdpi",
        sdk = 21,
        application = Application.class)
public class SetPaymentActivityTest {


    @Before
    public void setUp() throws Exception {
    }

    @Test
    public void sendWrongPaymentDetails() throws Exception {

        SetPaymentActivity activity = Robolectric.buildActivity(SetPaymentActivity.class)
//                .attach()
                .create()
//                .starst()
//                .resume()
//                .visible()
                .get();
         activity = Robolectric.setupActivity(SetPaymentActivity.class);

//        Shadows.shadowOf(SetPaymentActivity.class);

        String url = activity.getUrl();
        assertThat(url, equalTo(""));
    }
}

but I get this error:

Time: 109.712
There was 1 failure:
1) sendWrongPaymentDetails(com.google.android.apps.ridematch.payments.SetPaymentActivityTest)
java.lang.ClassCastException: android.app.Application cannot be cast to com.google.android.apps.common.inject.InjectedApplication
    at com.google.android.apps.common.inject.ActivityInjectHelper.initGraph(ActivityInjectHelper.java:56)

what am i doing wrong?

Aucun commentaire:

Enregistrer un commentaire