- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我无法获得任何扩展 ServiceTestCase 以运行的测试用例。没有错误,它们只是没有被执行。
其他扩展 AndroidTestCase 的测试用例会运行。
项目设置如下:
我有一个包含服务的 Android 库。它的 list 文件如下:
<?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>
Android 库项目在文件夹 test 中包含一个测试项目(使用 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>
我在测试项目中也有一个 build.properties,其中包含:
tested.project.dir=..android.library.reference.1=..
我通过运行 ant clean run-tests 来执行测试。
我需要做什么才能运行 ServiceTestCase 测试?
提前致谢。
最佳答案
确保为 ServiceTestCase 提供默认构造函数。 Eclipse 为您生成的那个可能不合适。例如,在我的案例中,Eclipse 为我生成了:
public class MyServiceTestCase extends ServiceTestCase<MyService> {
public MyServiceTestCase(Class<MyService> serviceClass) {
super(serviceClass);
}
...
}
Android JUnit 无法实例化 MyServiceTestCase,但它没有提示,我只能看到没有运行的测试用例。
因此我将构造函数替换为以下内容,并且效果很好:
public class MyServiceTestCase extends ServiceTestCase<MyService> {
public MyServiceTestCase() {
super(MyService.class);
}
...
}
希望它对你有用。
关于android - 无法让 Android ServiceTestCase 运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7855479/
我的应用程序是在/system/app 中运行的服务 com.abc.def.MyApp 尝试为其编写单元测试时,我在运行时在 logcat 中收到此错误。 I/TestGrouping( 5647)
我正在尝试以类似 TDD 的方式创建服务,为此我创建了以下测试。该服务基本上轮询 Web 服务并将新信息放入内容提供程序。由于它是一项服务,因此我使用内容提供程序将信息存储到其中作为测试的 oracl
我正在尝试在 android 上构建一个有效的 junit 测试套件。 由于我是 Junit 的新手,所以我不知道如何使用 ServiceTestCase 类。 我不知道如何让 getService(
我目前正在为一个 Android 应用程序编写单元测试并无意中遇到了以下问题: 我使用 ServiceTestCase 来测试 IntentService,如下所示: @Override public
我无法获得任何扩展 ServiceTestCase 以运行的测试用例。没有错误,它们只是没有被执行。 其他扩展 AndroidTestCase 的测试用例会运行。 项目设置如下: 我有一个包含服务的
有谁知道如何在从ServiceTestCase 扩展时访问JUnit 自己的项目res/ 文件夹编译的R 实例? ? 通常的方法行不通: getInstrumentation().getContext
我想用 ServiceTestCase 测试我绑定(bind)的服务。测试包括绑定(bind)到 MyBindServer 和发送消息。查看日志,您可以看到调用 onBind() 时服务已启动,并且从
我正在尝试测试需要真实 Application 对象的服务,而不是 ServiceTestCase 提供的 MockApplication。 如何在我的 ServiceTestCase 中创建一个真正
我正在使用 ServiceTestCase 为服务编写单元测试。 该服务基本上执行一个 AsyncTask,该 AsyncTask 执行一些工作,然后在 onPostExecute() 中执行其他操作
This是一个已有 2 年历史的恼人 Android 错误。 我的问题是,除了修改 Android 源代码并重新编译之外,有人知道解决此问题的任何方法吗? 为了完成,这是我的代码: 引发 NPE 的服
每次我开始我的 Android 仪器测试时它都会失败 android.test.suitebuilder.TestSuiteBuilder$FailedToCreateTests: Error in
我正在为 android 服务实现编写 JUnit 测试代码,我必须使用复制到 sdcard 上的一些文件来初始化测试。我的类(class)签名是这样的: public class ImageServ
我是一名优秀的程序员,十分优秀!