J'ai une simple activité HelloWorld que j'essaie de tester avec un test Android JUnit. L'application elle-même s'exécute comme elle le devrait mais le test échoue avec unException d'exécution dans les tests JUnit Android
"java.lang.RuntimeException: Impossible de résoudre l'activité pour: Intent {action = android.intent.action.MAIN flags = 0x10000000 comp = {no.helloworld .HelloWorld/no.helloworld.HelloWorld}} à no.helloworld.test.HelloWorldTestcase.setUp (HelloWorldTestcase.java:21) »
Ceci est ma classe d'activité:
package no.helloworld;
importer android.app.Activity; import
android.os.Bundle;
BonjourMonde public class étend activité {
@Override
public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); } }
Et le test:
HelloWorldTestcase public class étend ActivityInstrumentationTestCase2 {
private HelloWorld myActivity; private TextView mView; private String resourceString;
public HelloWorldTestcase() {
super("no.helloworld.HelloWorld", HelloWorld.class);
}
@Override
protected void setUp() throws Exception {
super.setUp();
myActivity = this.getActivity();
mView = (TextView) myActivity.findViewById(no.helloworld.R.id.txt1);
resourceString = myActivity
.getString(no.helloworld.R.string.helloworld);
}
public void testPreconditions() {
assertNotNull(mView);
}
public void testText() {
assertEquals(resourceString, (String) mView.getText());
}
protected void tearDown() throws Exception {
super.tearDown();
}
Pourquoi le test échoue-t-il? L'activité est (bien sûr) définie dans AndroidManifest.xml et l'application s'exécute comme il se doit.
"Le paquet dans l'appel du constructeur doit correspondre à la cible d'instrumentation dans le manifeste" - Cela m'a aidé. J'ai passé quelques heures avec ce problème. – Emerald214