2011-08-23 55 views
5

我想要为我的Android应用程序获得一些单元测试。我正在关注Android开发中心的Hello, Testing教程,但它给我的信息如下:单元测试Eclipse + jUnit上的Android应用程序 - 测试运行失败:测试运行不完整。预计1测试,收到0

测试运行失败:测试运行不完整。预计1次测试中,获得0

下面的代码,我有:

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

这里是控制台输出:

[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 

而这里的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 

回答

9

好吧,看起来我正在使用错误的构造函数。我做了日食自动生成的代码,并创造了这个:

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

然而,在将其更改为这样:

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

它工作正常。但我不确定为什么,如果有人能提供解释,我很乐意接受这个答案。对于遇到此错误的其他人,所有关于此问题的在线讨论似乎表明您的构造函数中存在一些错误。

+0

谢谢,它帮助.. – FireAndIce

1

我已删除参数,现在这是工作尝试它。

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); 
} 
相关问题