问题标签 [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 投票
6 回答
7490 浏览

android - 让 Robolectric 与 Android Studio 1.1.0 一起工作的清单和设置问题

我正在尝试进行 Robolectric 测试并在我们当前的项目中工作,但运气不佳。我的偏好是让这些在 Android Studio 1.1.0+ 中运行。这是我的项目结构:

在此处输入图像描述

这是我的测试:

无论我做什么尝试通过更改清单的路径来让框架找到测试,它都找不到它——要么我收到WARNING: No manifest file found at ./AndroidManifest.xml.Falling back to the Android OS resources only.消息,要么收到API Level XX is not supported - Sorry!消息。最后,我认为这是测试运行时出现以下错误的原因:

我确实打开了实验选项,配置了正确的 Gradle 插件(单元测​​试工作正常),但我不确定我缺少什么来启动和运行仪器测试。

应用级构建文件:

顶级构建文件:

0 投票
3 回答
10346 浏览

android - 无法添加名称为“testCompile”的配置,因为该名称的配置已存在

更新到 gradle 插件 1.1.0 时,我不断收到以下错误

我也在使用来自这里的 Robolectric gradle 插件,v0.14.0。

新的 gradle 1.1.0 插件增加了额外的单元测试支持,所以我怀疑 gradle 和 Robolectric 插件正在争夺使用“testCompile”,尽管我不确定如何解决这个问题。

0 投票
1 回答
1266 浏览

android - 运行 Robolectric 单元测试失败

我正在尝试通过 Robolectrie 测试框架构建和运行单元测试,但由于我使用的实际插件,我无法这样做

这是我尝试过的构建脚本

这是一个简单的测试类

这是我得到的错误

然后我尝试了一个不同的插件,即 com.github.jcandksolutions.gradle:android-unit-test:2.1.1' 仍然没有工作。下面再次是等级构建脚本和输出。

错误

0 投票
1 回答
894 浏览

android - Proguard 问题 Roboguice 重复导入

当我运行我的 gradle 构建时,我遇到了一个问题。似乎有重复的依赖项被导入但很难调试,任何建议都会很棒。

java.io.IOException: Can't write [.......\build\intermediates\classes-proguard\debug\classes.jar] (Can't read [.......gradle\caches\ modules-2\files-2.1\org.roboguice\roboguice\3.0.1\24e814f35d5cc28eaa7e9f07a50ea69deeb2b544\roboguice-3.0.1.jar(;;;;;;!META-INF/MANIFEST.MF)] (重复的 zip 条目 [roboguice -3.0.1.jar:javax/inject/Inject.class]))

0 投票
1 回答
1002 浏览

android - android gradle没有运行单元测试

您好我正在尝试使用 Robolectric 测试框架在我的 android 应用程序上使用和运行单元测试。

然而。当我运行命令 ./gradlew test 时,它似乎根本没有运行我的单元测试。

这是我得到的输出:

这是我的测试类,在运行测试时应该失败

我的毕业脚本:

0 投票
0 回答
669 浏览

android - 使用 proguard 运行 Robolectric

这些是测试依赖项:

而且我的debug构建类型有minifyEnabled true,因为我没有达到 DEX 方法限制。完整的建筑定义如下:

有一个默认proguard-rules.pro文件和一个附加文件proguard-rules-debug.pro

根据:proguardDevelopDebug我拥有的选项,gradle 任务成功通过。但是:proguardDevelopDebugAndroidTest失败并出现以下错误: http: //pastebin.com/S623UGfP

这很奇怪,因为我在文件中添加了以下内容:

任何想法为什么这两个不一起工作?

0 投票
1 回答
5665 浏览

android - 如何在 robolectric 中使用 findViewById()

如果某个视图在片段中可见,我只是想用 robolectric 进行测试。我的单元测试如下所示:

我正在使用最新的 android gradle 插件 1.1.3、robolectirc 2.4 和 robolectric gradle 插件 1.0.1,我的单元测试在test文件夹中(不是androidTest)。我无法编译该代码,因为编译器无法解析R.java.

我的build.gradle

如何使用 robolectric 编写这样的单元测试?

更新:这是完整的代码:

代码可以在这里找到:https ://github.com/sockeqwe/RobolectircTest

0 投票
1 回答
1653 浏览

android - Robolectric 2.4 中的 android.content.res.Resources$NotFoundException

从命令行运行单元测试时,我无法加载资源。它在 IntelliJ 中运行良好。

我在用着:

  • com.android.tools.build:gradle:1.1.3
  • org.robolectric:robolectric-gradle-plugin:1.0.1
  • org.robolectric:robolectric:2.4

我有以下项目结构(多模块):

我的测试(简化)如下所示:

我得到这个堆栈跟踪:

注意:我对 Gradle 很陌生,所以很可能某处存在错误配置。我假设通过遵循项目结构约定,我不需要指定在哪里可以找到资源。我尝试指定它们,但没有任何运气:

0 投票
1 回答
254 浏览

java - 无法在 Windows 上运行 Roboletric:java.lang.NoSuchMethodException:android.os.Looper。(布尔值)

我想在现有的 Android Studio 1.1 项目上添加对单元测试的支持。我按照教程进行操作,但出现错误:

我找到了这个解决方案,但只适用于mac,我在windows中找不到类似的方法。

0 投票
1 回答
1326 浏览

android - 无法使用 Robolectric 3 创建阴影类

我按照 Robolectric 文档创建了影子类,但在测试期间我无法运行影子方法,它总是使用原始方法。

这是我的代码:

原始类:

影子类:

考试:

当我运行测试时,它总是显示"Hi from original class!"

我的代码有什么问题?我用

  • 安卓工作室 1.2
  • robolectric 3.0-rc2
  • robolectric-gradle-plugin 1.0.1

我该如何解决这个问题?

提前致谢