2010-07-29 7 views
3

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.

Répondre

7

Le package dans l'appel du constructeur doit correspondre à la cible d'instrumentation dans le manifeste. Il devrait être "no.helloworld" au lieu de "no.helloworld.HelloWorld"

+1

"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

Questions connexes