问题标签 [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.
android - java.lang.NoClassDefFoundError: javax/net/ssl/DistinguishedNameParser
我正在使用 robolectric 单元测试。当我尝试将异步任务与 Web 服务调用一起使用时,我遇到了以下问题。
我的 build.gradle 配置
这是我的 LoginActivityTest
当我运行登录活动时,我遇到了这个问题**
“ java.lang.NoClassDefFoundError: javax/net/ssl/DistinguishedNameParser”**
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 就会被隐藏而不是初始化。
想法/帮助将不胜感激!
android - Robolectric = Mockito:无法在 Mockito 中创建 Mock 或 Spy 因为:dexcache == null
我在这里有一个很好的报告问题:
但是,该解决方案不起作用。
我正在使用 Robolectric,即使我尝试设置 dexmaker 缓存位置:
错误更改为
java.lang.RuntimeException: java.lang.NullPointerException
你有什么想法可以让我使用 Robolectric 创建 Mock 或 Spy 对象吗?
注意:当我不使用 Robolectric 并使用常规时ActivityInstrumentationTestCase2
,@RunWith(AndroidJUnit4.class)
我可以创建 Mock 和 Spy 对象......
这个问题是在 Mockito 1.9 之后出现的
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 信标库测试文件夹和
没有帮助
android - 使用 Robolectric 测试将设备上仪器测试添加到项目中
我有一个使用 Robolectric 进行测试的 Android 项目。build.gradle 的相关部分看起来有点像这样:
并且所有的 Robolectric 测试都在src/androidTest/java/my/package/*Test.java
. 这一切都运作良好。我可以将测试作为普通 Gradle 构建的一部分运行,也可以通过 IntelliJ 的 JUnit GUI 运行。
现在我需要添加一些不能使用 Robolectric 并且需要在真正的 Android 设备上运行的测试。鉴于我已经不得不androidTest
为我的 Robolectric 测试使用该变体,我如何将我的仪器测试添加到这个项目中,并且仍然允许 Robolectric 测试在没有设备的情况下运行?
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 文件
我尝试遵循这个建议,但没有用
谁能告诉我我在哪里犯错
android - 如何在 android 模块上运行单元测试?
我有一个包含多个库模块的 android 项目,我正在尝试测试一个包含所有模块的特定包。
我试过这个命令:
而且它不起作用:它不执行该模块内的测试,而是执行主项目包类中的所有单元测试。
如何只测试一个模块?
android - Android:单元测试从 dagger 1 迁移到 dagger 2 时遇到以下错误
有人遇到过类似的问题吗?请帮忙!
我的毕业生有
不确定我是否应该添加任何其他库以使其正常工作!
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 代码: