Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Unit testing Android Apps on Eclipse + jUnit - Test run failed: Test run incomplete. Expected 1 tests, received 0

I'm trying to get some unit tests up for my Android apps. I was following the Hello, Testing tutorial from the Android dev center, but it's giving me a message that reads:

Test run failed: Test run incomplete. Expected 1 tests, received 0

Here's the code I have:

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);
}

Here's the console output:

[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

And here's the LogCat output:

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
like image 843
Tejaswi Yerukalapudi Avatar asked Aug 23 '11 16:08

Tejaswi Yerukalapudi


People also ask

Why is JUnit not working in Eclipse?

The error occurs because the JUnit library has not been configured for the project, but can be resolved using the following steps. 1. Right click on the Java project and select Build Path > Configure Build Path. 2.

Which function is used in JUnit to compare expected and actual result?

You use an assert method, provided by JUnit or another assert framework, to check an expected result versus the actual result. These method calls are typically called asserts or assert statements.


2 Answers

Ok, looks like I was using the wrong constructor. I've made eclipse auto generate the code and it created this:

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

However, upon changing it to this:

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

it works fine. I'm not sure why, though, so if anyone can provide an explanation, I'd be happy to accept that as the answer. For everyone else encountering this error, all the online discussion around this seems to indicate that there's some error in your constructor.

like image 67
Tejaswi Yerukalapudi Avatar answered Oct 28 '22 09:10

Tejaswi Yerukalapudi


i have removed the argument and now this is working try it.

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);
}
like image 24
Emran Hamza Avatar answered Oct 28 '22 08:10

Emran Hamza