问题标签 [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 - 让 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 插件(单元测试工作正常),但我不确定我缺少什么来启动和运行仪器测试。
应用级构建文件:
顶级构建文件:
android - 无法添加名称为“testCompile”的配置,因为该名称的配置已存在
更新到 gradle 插件 1.1.0 时,我不断收到以下错误
我也在使用来自这里的 Robolectric gradle 插件,v0.14.0。
新的 gradle 1.1.0 插件增加了额外的单元测试支持,所以我怀疑 gradle 和 Robolectric 插件正在争夺使用“testCompile”,尽管我不确定如何解决这个问题。
android - 运行 Robolectric 单元测试失败
我正在尝试通过 Robolectrie 测试框架构建和运行单元测试,但由于我使用的实际插件,我无法这样做
这是我尝试过的构建脚本
这是一个简单的测试类
这是我得到的错误
然后我尝试了一个不同的插件,即 com.github.jcandksolutions.gradle:android-unit-test:2.1.1' 仍然没有工作。下面再次是等级构建脚本和输出。
错误
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]))
android - android gradle没有运行单元测试
您好我正在尝试使用 Robolectric 测试框架在我的 android 应用程序上使用和运行单元测试。
然而。当我运行命令 ./gradlew test 时,它似乎根本没有运行我的单元测试。
这是我得到的输出:
这是我的测试类,在运行测试时应该失败
我的毕业脚本:
android - 使用 proguard 运行 Robolectric
这些是测试依赖项:
而且我的debug
构建类型有minifyEnabled true
,因为我没有达到 DEX 方法限制。完整的建筑定义如下:
有一个默认proguard-rules.pro
文件和一个附加文件proguard-rules-debug.pro
。
根据:proguardDevelopDebug
我拥有的选项,gradle 任务成功通过。但是:proguardDevelopDebugAndroidTest
失败并出现以下错误: http: //pastebin.com/S623UGfP
这很奇怪,因为我在文件中添加了以下内容:
任何想法为什么这两个不一起工作?
android - 如何在 robolectric 中使用 findViewById()
如果某个视图在片段中可见,我只是想用 robolectric 进行测试。我的单元测试如下所示:
我正在使用最新的 android gradle 插件 1.1.3、robolectirc 2.4 和 robolectric gradle 插件 1.0.1,我的单元测试在test
文件夹中(不是androidTest
)。我无法编译该代码,因为编译器无法解析R.java
.
我的build.gradle
:
如何使用 robolectric 编写这样的单元测试?
更新:这是完整的代码:
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 很陌生,所以很可能某处存在错误配置。我假设通过遵循项目结构约定,我不需要指定在哪里可以找到资源。我尝试指定它们,但没有任何运气:
android - 无法使用 Robolectric 3 创建阴影类
我按照 Robolectric 文档创建了影子类,但在测试期间我无法运行影子方法,它总是使用原始方法。
这是我的代码:
原始类:
影子类:
考试:
当我运行测试时,它总是显示"Hi from original class!"
我的代码有什么问题?我用
- 安卓工作室 1.2
- robolectric 3.0-rc2
- robolectric-gradle-plugin 1.0.1
我该如何解决这个问题?
提前致谢