43得票3回答
使用JUnit+(Robolectric或Mockito或两者都在Android中)编写单元测试用例

这是我第一次在Android中编写单元测试用例,我已经搜索了很多东西。我有一些关于Robolectric和Mockito的疑问: 1. 我是否应该仅将Robolectric与JUnit一起在Android应用程序中使用? 2. 我是否应该仅将Mockito与JUnit一起在Android应用...

42得票1回答
Robolectric多DEX后单元测试失败

最近我将我的Robolectric 3.0升级与我们的主线合并,而我们的应用程序添加了Multidex支持。不幸的是,这导致我们的测试失败/未运行-它们在第一次尝试安装MultiDex失败后就会停止,并显示以下堆栈跟踪:java.lang.RuntimeException: java.lang...

40得票2回答
如何在Android Studio中运行Robolectric测试时进行调试?

我需要在Android Studio + Robolectric中执行测试时进行调试。 每次我尝试通过从Gradle任务中选择test任务的debug来运行它们时,我都会收到以下错误消息: 运行package_name:app_name [test]时发生错误:无法打开调试器端口:ja...

40得票1回答
Robolectric的RuntimeEnvironment.application已经被弃用,ApplicationProvider.getApplicationContext()在哪里?

我从3.8换成了Robolectric 4.0 Beta 1,因为我需要与Android 9 (API 28)兼容。 这个变化导致RuntimeEnvironment.application已经被弃用。 替代方案似乎是使用: androidx.test.core.app.Applicat...

37得票5回答
如何在Android Studio中运行单元测试

我正在使用Jake开发的gradle Android单元测试插件:https://github.com/JakeWharton/gradle-android-test-plugin 我的build.gradle文件如下: dependencies { // analytics compil...

34得票6回答
在Robolectric中模拟点击菜单项

在 Robolectric 中模拟按钮点击是相当简单的:Button someButton = (Button) findViewById(R.id.some_button); someButton.performClick(); 不过,我似乎想不出如何对菜单项执行相同的操作。我在Activi...

31得票5回答
AndroidHttpClient未找到(运行Robolectric时)

我已经建立了一个非常简单的项目,用于测试Robolectric + Data Binding + Retrolambda的集成。当我运行测试套件时,我会收到以下消息:Error:(30, 30) Gradle: error: cannot access AndroidHttpClient cl...

31得票2回答
Robolectric与Gradle一起使用:找不到资源

我想要在最新的Gradle Android构建系统中运行Robolectric测试,但我卡在了访问主项目资源的地方。 为了避免java和android Gradle插件之间的冲突,我将构建分成了两个独立的项目,因此目录结构大致如下:. ├── build.gradle ├── setting...

30得票4回答
无法找到Java Runtime Android Studio Robolectric。

我已将Robolectric添加到Android项目中。我正在使用Build Tools版本为19.0.1的Android Studio。我可以使用以下命令运行测试:$./gradlew test 能够成功执行。 如果我尝试:$ gradle installDebug 它也能顺利执行:$ ....

30得票3回答
在测试类中模拟被测试类中的类

我该如何在正在测试的类中使用Mockito模拟其他类? 例如: MyClass.javaclass MyClass { public boolean performAnything() { AnythingPerformerClass clazz = new Any...