luc*_*web 5 android servicetestcase
我无法获得任何扩展ServiceTestCase以运行的测试用例.他们没有被执行就没有错误.
其他扩展AndroidTestCase的测试用例会运行.
项目设置如下:
我有一个包含服务的Android库.它的清单文件如下:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.something.android"
android:versionCode="1"
android:versionName="1.0">
<uses-sdk android:minSdkVersion="9"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<application>
<service android:name=".ExampleService"
android:exported="false"
android:process=":example_service">
</service>
</application>
</manifest>
Run Code Online (Sandbox Code Playgroud)
Android Library Project在文件夹测试中包含一个测试项目(使用Android工具创建)
这包含一个AndroidManfiest.xml,如下所示
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.something.android.tests"
android:versionCode="1"
android:versionName="1.0">
<application>
<uses-library android:name="android.test.runner" />
</application>
<instrumentation android:name="android.test.InstrumentationTestRunner"
android:targetPackage="com.something.android.tests"
android:label="Tests for com.something.android"/>
</manifest>
Run Code Online (Sandbox Code Playgroud)
我在测试项目中也有一个build.properties,其中包含:
tests.project.dir = .. android.library.reference.1 = ..
我通过运行ant clean run-tests来执行测试.
我需要做什么才能运行ServiceTestCase测试?
提前致谢.
小智 11
确保为ServiceTestCase提供默认构造函数.Eclipse为您生成的一个可能不合适.例如,在我的例子中,Eclipse为我生成:
public class MyServiceTestCase extends ServiceTestCase<MyService> {
public MyServiceTestCase(Class<MyService> serviceClass) {
super(serviceClass);
}
...
}
Run Code Online (Sandbox Code Playgroud)
Android JUnit无法实例化MyServiceTestCase,但它没有抱怨,我只能看到没有运行的测试用例.
之前我用以下内容替换了构造函数,并且它运行良好:
public class MyServiceTestCase extends ServiceTestCase<MyService> {
public MyServiceTestCase() {
super(MyService.class);
}
...
}
Run Code Online (Sandbox Code Playgroud)
希望对你有效.
| 归档时间: |
|
| 查看次数: |
1667 次 |
| 最近记录: |