2011-08-23 14 views
5

Sto provando a ottenere alcuni test di unità per le mie app Android. Stavo seguendo il tutorial di Hello, Testing dal centro dev Android, ma mi sta dando un messaggio che recita: corsaTest delle unità App Android su Eclipse + jUnit - Esecuzione test fallita: test eseguito incompleto. 1 test previsti, ricevuti 0

Test fallito: Prova di funzionamento incompleta. Attesi 1 test, ha ricevuto 0

Ecco il codice che ho:

public class LoginTest extends ActivityInstrumentationTestCase2<Login> { 

Activity mActivity; 
EditText mLoginTxt; 
EditText mPwdTxt; 
Button mLoginBtn; 
Button mClearBtn; 

public LoginTest(String pkg, Class<Login> activityClass) { 
    super("pkg_name", Login.class); 
} 

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

public void testPreconditions() { 

} 

public void testClear() { 
    assertTrue(true); 
} 

Ecco l'output della console:

[2011-08-23 12:21:12 - <AppNameTest>] ------------------------------ 
[2011-08-23 12:21:12 - <AppNameTest>] Android Launch! 
[2011-08-23 12:21:12 - <AppNameTest>] adb is running normally. 
[2011-08-23 12:21:12 - <AppNameTest>] Performing android.test.InstrumentationTestRunner JUnit launch 
[2011-08-23 12:21:12 - <AppNameTest>] Automatic Target Mode: using existing emulator 'emulator-5554' running compatible AVD 'AndroidHDPI' 
[2011-08-23 12:21:14 - <AppNameTest>] Application already deployed. No need to reinstall. 
[2011-08-23 12:21:14 - <AppNameTest>] Project dependency found, installing: <AppName> 
[2011-08-23 12:21:16 - <AppNameTest>] Application already deployed. No need to reinstall. 
[2011-08-23 12:21:16 - <AppNameTest>] Launching instrumentation android.test.InstrumentationTestRunner on device emulator-5554 
[2011-08-23 12:21:18 - <AppNameTest>] Collecting test information 
[2011-08-23 12:21:20 - <AppNameTest>] Test run failed: Test run incomplete. Expected 1 tests, received 0 

Ed ecco l'output LogCat:

08-23 12:28:41.905: DEBUG/AndroidRuntime(1092): >>>>>>>>>>>>>> AndroidRuntime START <<<<<<<<<<<<<< 
08-23 12:28:41.905: DEBUG/AndroidRuntime(1092): CheckJNI is ON 
08-23 12:28:42.155: DEBUG/AndroidRuntime(1092): --- registering native functions --- 
08-23 12:28:42.995: DEBUG/AndroidRuntime(1092): Shutting down VM 
08-23 12:28:43.005: DEBUG/dalvikvm(1092): Debugger has detached; object registry had 1 entries 
08-23 12:28:43.025: INFO/AndroidRuntime(1092): NOTE: attach of thread 'Binder Thread #3' failed 
08-23 12:28:43.625: DEBUG/AndroidRuntime(1100): >>>>>>>>>>>>>> AndroidRuntime START <<<<<<<<<<<<<< 
08-23 12:28:43.625: DEBUG/AndroidRuntime(1100): CheckJNI is ON 
08-23 12:28:43.876: DEBUG/AndroidRuntime(1100): --- registering native functions --- 
08-23 12:28:44.735: DEBUG/AndroidRuntime(1100): Shutting down VM 
08-23 12:28:44.745: DEBUG/dalvikvm(1100): Debugger has detached; object registry had 1 entries 
08-23 12:28:44.765: INFO/AndroidRuntime(1100): NOTE: attach of thread 'Binder Thread #3' failed 
08-23 12:28:45.385: DEBUG/AndroidRuntime(1108): >>>>>>>>>>>>>> AndroidRuntime START <<<<<<<<<<<<<< 
08-23 12:28:45.385: DEBUG/AndroidRuntime(1108): CheckJNI is ON 
08-23 12:28:45.645: DEBUG/AndroidRuntime(1108): --- registering native functions --- 
08-23 12:28:46.555: INFO/ActivityManager(59): Force stopping package com.PatientPoint.MCC uid=10038 
08-23 12:28:46.625: INFO/ActivityManager(59): Start proc <pkg_name> for added application <pkg_name>: pid=1114 uid=10038 gids={3003} 
08-23 12:28:47.196: INFO/TestRunner(1114): started: warning(junit.framework.TestSuite$1) 
08-23 12:28:47.236: INFO/ActivityManager(59): Force stopping package <pkg_name> uid=10038 
08-23 12:28:47.246: INFO/Process(59): Sending signal. PID: 1114 SIG: 9 
08-23 12:28:47.355: DEBUG/AndroidRuntime(1108): Shutting down VM 
08-23 12:28:47.375: DEBUG/jdwp(1108): Got wake-up signal, bailing out of select 
08-23 12:28:47.375: DEBUG/dalvikvm(1108): Debugger has detached; object registry had 1 entries 
08-23 12:28:47.415: INFO/AndroidRuntime(1108): NOTE: attach of thread 'Binder Thread #3' failed 

risposta

9

Ok, sembra che stavo usando il costruttore sbagliato. Ho fatto automatico eclissi generare il codice e creato questo:

public LoginTest(String pkg, Class<Login> activityClass) { 
    super(pkg, Login.class); 
} 

Tuttavia, dopo la modifica a questo:

public LoginTest() { 
    super("pkg_name", Login.class); 
} 

funziona benissimo. Non sono sicuro del perché, quindi, se qualcuno può fornire una spiegazione, sarei felice di accettarlo come risposta. Per tutti gli altri che incontrano questo errore, tutta la discussione online su questo sembra indicare che c'è qualche errore nel costruttore.

+0

Grazie, ha aiutato .. – FireAndIce

1

ho rimosso l'argomento e ora funziona, provalo.

public class LoginTest extends ActivityInstrumentationTestCase2<Login> { 

Activity mActivity; 
EditText mLoginTxt; 
EditText mPwdTxt; 
Button mLoginBtn; 
Button mClearBtn; 

public LoginTest() { 
super("pkg_name", Login.class); 
} 

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

public void testPreconditions() { 

} 

public void testClear() { 
assertTrue(true); 
}