问题标签 [robolectric-gradle-plugin]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
745 浏览

java - MaxPermSize=2048m 但我得到“超过 GC 开销限制”

我正在运行现有 android-studio 项目的 gradle 并收到内存不足的错误。

即使我的 gradle 属性中有这个:

我正在使用 mac

在此处输入图像描述

这是错误:

0 投票
0 回答
345 浏览

android - java.lang.NoClassDefFoundError: javax/net/ssl/DistinguishedNameParser

我正在使用 robolectric 单元测试。当我尝试将异步任务与 Web 服务调用一起使用时,我遇到了以下问题。

我的 build.gradle 配置

这是我的 LoginActivityTest

当我运行登录活动时,我遇到了这个问题**

“ java.lang.NoClassDefFoundError: javax/net/ssl/DistinguishedNameParser”**

0 投票
1 回答
1506 浏览

android - 带有 Fabric Crashlytics 的 Robolectric 3

我正在尝试 ShadowClass Crashlytics/Fabric,以便 Robotlectric 3 测试不会失败。我到目前为止是这样的:

为 Fabric 添加 Shadow 类的自定义测试运行器:

Fabric 的影子类:

我的应用程序的应用程序类:

这是在 Debug 中通过的测试(因为 Crashlytics 在其上被禁用),但在发布模式下失败,因为 ShadowClass 无法正常工作:

我在测试期间使用 Crashlytics / Fabric 遇到的错误如下:

堆栈跟踪显示正在调用 MyApp.setupCrashlytics() 并且 Fabric.with() 失败。

1) 是的,该应用程序已向 Crashlytics 注册。

2) 是的,我确实联系了 Crashlytics 支持电子邮件。有人告诉我“不支持 Robolectric”。

据我所知,我只需要让影子类的东西工作,然后 Crashlytics 就会被隐藏而不是初始化。

想法/帮助将不胜感激!

0 投票
2 回答
471 浏览

android - Robolectric = Mockito:无法在 Mockito 中创建 Mock 或 Spy 因为:dexcache == null

我在这里有一个很好的报告问题:

Android 上的 Mockito + Dexmaker

但是,该解决方案不起作用。

我正在使用 Robolectric,即使我尝试设置 dexmaker 缓存位置:

错误更改为

java.lang.RuntimeException: java.lang.NullPointerException

你有什么想法可以让我使用 Robolectric 创建 Mock 或 Spy 对象吗?

注意:当我不使用 Robolectric 并使用常规时ActivityInstrumentationTestCase2@RunWith(AndroidJUnit4.class)我可以创建 Mock 和 Spy 对象......

这个问题是在 Mockito 1.9 之后出现的

0 投票
1 回答
289 浏览

android - Android robolectric 测试清单合并问题(android 信标库)

我有简单的测试用例

不幸的是,跑步者遇到了 manifestmerger 问题

java.lang.RuntimeException: org.altbeacon.beacon.BeaconManager$ServiceNotDeclaredException: BeaconService 未在 AndroidManifest.xml 中正确声明。如果使用 Eclipse,请验证您的 project.properties 是否具有 manifestmerger.enabled=true

JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:69) 在 com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:234) 在 com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java: 74) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在 java.lang.reflect .Method.invoke(Method.java:497) at com.intellij.rt.execution.application.AppMain.main(AppMain.java:144) 原因:org.altbeacon.beacon.BeaconManager$ServiceNotDeclaredException:BeaconService 不正确在 AndroidManifest.xml 中声明。如果使用 Eclipse,请验证您的项目。

我想知道是否有任何简单的解决方法。我一直在浏览 android 信标库测试文件夹和

没有帮助

0 投票
1 回答
201 浏览

android - 使用 Robolectric 测试将设备上仪器测试添加到项目中

我有一个使用 Robolectric 进行测试的 Android 项目。build.gradle 的相关部分看起来有点像这样:

并且所有的 Robolectric 测试都在src/androidTest/java/my/package/*Test.java. 这一切都运作良好。我可以将测试作为普通 Gradle 构建的一部分运行,也可以通过 IntelliJ 的 JUnit GUI 运行。

现在我需要添加一些不能使用 Robolectric 并且需要在真正的 Android 设备上运行的测试。鉴于我已经不得不androidTest为我的 Robolectric 测试使用该变体,我如何将我的仪器测试添加到这个项目中,并且仍然允许 Robolectric 测试在没有设备的情况下运行?

0 投票
0 回答
260 浏览

android - 在 (app)gradle 文件中添加应用插件:'org.robolectric' 显示项目刷新失败错误:不支持 Android Gradle 插件 2.1.2

您好我正在尝试在 android studio 中配置 Jenkins。我跟着这个链接

我在 MAC 系统中安装了 Jenkins,并通过我的 localhost 进行了验证,以检查其运行是否完美(如上面的链接中所述)。

我在我的项目(根)依赖项中添加了以下行。

类路径'org.robolectric:robolectric-gradle-plugin:1.0.1'

我更新的项目 .gradle 文件是

但是问题在更新(添加 robolectric)app .gradle 文件后开始

这给了我以下错误消息

这是我的项目根 .gradle 文件

这是我的应用程序 .gradle 文件

我尝试遵循这个建议,但没有用

谁能告诉我我在哪里犯错

0 投票
2 回答
1858 浏览

android - 如何在 android 模块上运行单元测试?

我有一个包含多个库模块的 android 项目,我正在尝试测试一个包含所有模块的特定包。

我试过这个命令:

而且它不起作用:它不执行该模块内的测试,而是执行主项目包类中的所有单元测试。

如何只测试一个模块?

0 投票
1 回答
305 浏览

android - Android:单元测试从 dagger 1 迁移到 dagger 2 时遇到以下错误

有人遇到过类似的问题吗?请帮忙!

我的毕业生有

不确定我是否应该添加任何其他库以使其正常工作!

0 投票
0 回答
265 浏览

android - Robolectric 活动测试使用自定义视图抛出 java.lang.ClassNotFoundException:

我的活动 xml 包含 customeView (TitleToolbar)。当我运行单元测试时,robolectric 在我的 Activity 创建的 onCreate 方法中失败了。异常详细信息说它未能创建 customeView(TitleToolbar) 并抛出“错误膨胀类”

错误详情:

android.view.InflateException: XML file /Users../layout/Myactivity_UI.xml line #-1 (对不起,尚未实现): Error inflating class com.sample.view.TitleToolbar .... 引起:java.lang .reflect.InvocationTargetException

这是我的xml代码:

这是测试代码

这是活动 onCreate 代码: