- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
在 Gradle 和 Run/Debug Configurations -> Android Tests -> MyInstrumentedTest -> General -> Specific instrumentation runner 中设置
和扩展 testInstrumentationRunner "com.example.theapp.utils.CustomAndroidJUnitRunner"
之后(可选)AndroidJUnitRunner
:
import android.app.Application;
import android.content.Context;
import android.support.test.runner.AndroidJUnitRunner;
public class CustomAndroidJUnitRunner extends AndroidJUnitRunner {
@Override
public Application newApplication(ClassLoader cl, String className, Context context) throws InstantiationException, IllegalAccessException, ClassNotFoundException {
return super.newApplication(cl, className, context);
}
@Override
public void callApplicationOnCreate(Application app) {
super.callApplicationOnCreate(app);
}
}
我在 newApplication
和 callApplicationOnCreate
中设置了 BP 并看到调用了 callApplicationOnCreate
,但没有调用 newApplication
。可能是什么问题?
最佳答案
我认为 newApplication()
没有被调用,因为断点没有被击中,但似乎在调试器有机会附加之前调用了该方法。
如果需要调试newApplication()
方法,我推荐添加Debug.waitForDebugger()
;在 Runner 构造函数中或在断点之前的任何时间。否则使用一些其他标志来确定该方法是否被调用(即不依赖调试器和断点)。
关于android - callApplicationOnCreate 被调用但不是 newApplication(扩展 AndroidJUnitRunner),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38128692/
我在我的项目中使用 AndroidJUnitRunner,但无论是在 Android Studio 中还是通过 gradlew 从命令行在设备和模拟器上执行单元测试都非常慢。 我正在使用这个开源项目的
只要指定类,我就可以运行仪器测试。 adb shell am instrument -w -e class com.application.instrumentation.BaseActivityTe
我使用 gradle 构建我的 android 应用程序。 我按照文档 ( https://developer.android.com/topic/libraries/testing-support-
设置: 我继承的一个较旧的项目有很多遗留的仪器测试,我想对它们施加超时,因为它们中的很多都可以无限期地挂起,这使得很难获得测试报告。我正在将测试更新为 Junit4 样式,但目前它们都在扩展 Acti
我有一个 Android 应用程序,我正在尝试使用 Jenkins 进行设置。我已经使用 Android 模拟器插件启动模拟器,并使用 gradle 脚本构建项目,但我无法让它运行我使用 Androi
我是 Android 测试领域的新手,单元测试示例提到了 AndroidJunit4 runner 的使用。我偶然发现了另一个名为 AndroidJUnitRunner 的运行者。现在,我看到了这两个
我正在尝试整合 Espresso 2.0's AndoridJUnitRunner与 ActivityUnitTestCase。但是,当 startActivity() tries to initia
在 Gradle 和 Run/Debug Configurations -> Android Tests -> MyInstrumentedTest -> General -> Specific in
我想使用 faSTLane screengrab,当我启动时 fastlane screengrab我有这个错误:android.util.AndroidException: INSTRUMENTAT
我们围绕相机功能进行了一些 UI 测试,在我们从 InstrumentationTestRunner 切换到 AndroidJUnitRunner 作为迁移到 Espresso/JUnit4 的一部分
我正在尝试使用插桩测试,并将我的项目更新为 AndroidX。但是在尝试运行时出现以下错误: 2018-10-09 14:22:29.468 13263-13263/xxx.yyy E/Android
我是仪器测试的新手。我正在尝试使用 AndroidJUnitRunner 进行基本测试。这是我的毕业典礼: apply plugin: 'com.android.application' androi
我正在尝试将我的项目更新为最近发布的 Android 测试支持库版本 1.0.0。但是,如果我添加 assertj-core 依赖项,Gradle 检测的测试任务开始失败,并显示“未找到测试”消息。不
我已经编写了一个简单的 Android 工具测试用例来测试网络操作。 Test case class name: Main3ActivityTest.java Method name:addNewEm
我尝试在 MultiDex 应用程序上运行 Espresso 测试,但失败并出现以下错误 Error:Execution failed for task > :transformClassesWith
几天以来,我一直在为我们的 MultiDex 应用程序中的 NoClassDefFoundError 和 AndroidJUnitRunner 而苦苦挣扎...... 因为我们想开始使用 Espres
我们将 Robotium 与 android.test.InstrumentationTestRunner 一起用于我们的测试。尽管如此,我们还是想用 Espresso 替换 Robotium,但我们
我在单元测试中使用了 robolectric。最近在我们的项目中,我们添加了一个来自 zendesk 的新依赖项。 repositories { maven { url 'ht
在我的应用程序上录制了一个简单的 Espresso 测试后,测试无法运行,我希望有人能指导我了解为什么会发生这种情况。产生的错误是: D/AndroidJUnitRunner: Use the raw
我是一名优秀的程序员,十分优秀!