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

android-gradle-plugin - SimpleTestCursor robolectric 3.0——编译问题

我正在尝试在我的应用程序中测试光标。

但是对于以下导入,我收到错误消息——无法解析符号测试器。我正在使用 Robolectric 3.0。为什么导入没有解决,我是否缺少一些依赖项?我看过互联网,但没有支持。请帮忙。

我正在尝试使用:此 API和以下是导入

这些是我的依赖项:

0 投票
0 回答
125 浏览

android - 在 Robolectric 中调用 View.getTop() 总是返回 0

我正在尝试验证视图在屏幕上的位置,但 View.getTop 或 View.getLocationOnScreen() 将始终返回 0。

View.getHeight() 大于 0 并且看起来是正确的。

这是 Robolectric 的限制还是我需要设置一些东西?

0 投票
0 回答
858 浏览

android - Robolectric 文件未在资产文件中找到

嗨,我正在使用 robolectric 3.0 版对我的应用程序进行单元测试,并在 src/test/assets 下拥有包含一些文件的资产文件夹,但不断获取 fileNotFound。

这是我的测试代码:

```

```

这是我的 gradle 文件中的源集和依赖项:```

```

生产是一种构建变体

0 投票
0 回答
770 浏览

android - Robolectric getNextStartedActivity 总是返回启动器活动

我正在尝试测试在我的 Android 应用程序中调用一个简单的方法将启动另一个活动。getNextStartedActivity总是返回启动器活动。

这是测试:

这是 CurrentActivity 中的 startNextActivity 方法:

当我运行测试时,我得到 LoginActivity(启动器活动)作为实际结果。AndroidManifest.xml 中的 LoginActivity:

0 投票
2 回答
871 浏览

android - 带有 test.R.java 的 Robolectric

我在 API21 有一个使用 robolectric 3.0 的库项目,带有com.android.tools.build:gradle:1.3.1.

我想在 robolectric 测试中使用测试资源(就像在 下一样src/androidTest/res/...),即com.mypackage.test.R.java(而不是com.mypackage.R.java用于生产)。

到目前为止我所拥有的:

目录结构是

然后在 build.gradle 中:

我的测试现在可以使用 test.R.java成功编译。

${project.buildDir}/intermediates/assets/androidTest/debug但是,在运行时,它们会失败,因为robolectric现在无法找到我的资产文件,因为它们现在位于${project.buildDir}/intermediates/assets/debug. 我怀疑 robo 也无法找到资源文件,因为它们也已移动到androidTest(构建变体?)目录下。

所以有两个问题:1)有没有更好的方法来做到这一点?2)如果没有,我如何告诉 robolectric 在哪里寻找资产文件?

我已经尝试过@Config(assetDir="build/intermediates/assets/androidTest/debug")@Config(assetDir="../build/intermediates/assets/androidTest/debug")但无济于事。

0 投票
1 回答
845 浏览

android - Robolectric 3:影子自定义类

我正在使用 Robolectric 3,我正在尝试像这样隐藏自定义类:

而且我已经阅读了 Robolectric 阴影 SDK 类和自定义类的其他答案和帖子,我需要做一些特别的事情像这样:

公共类 RoboServiceRunner 扩展 RobolectricGradleTestRunner {

因此,您在这里看到的是将新类添加到 shadowMap 的代码。我也知道是否有Shadows课程,但我找不到如何处理它。

所以这个测试的输出:

是:

junit.framework.AssertionFailedError:预期:2 实际:1

谢谢!

0 投票
1 回答
693 浏览

java - Robolectric 3.0 返回空指针

我正在尝试将 Robolectric 升级到 3.0。我正在使用RobolectricGradleTestRunner@Config(constants = BuildConfig.class)在我的测试类上方添加。我也尝试过使用testCompile org.robolectric:robolectric:3.1-SNAPSHOT. 下面是我在日志中看到的堆栈跟踪。

0 投票
0 回答
286 浏览

android - Robolectric 片状测试

我是 Robolectric 的新手,也是我的新项目的新手,该项目已经编写了广泛的 Robolectric 测试。

我做了一个 ./gradlew clean 测试,发现测试随机失败。我怀疑@Before 代码有问题,但不确定是什么。

以下是 JUnit 报告的错误示例:

这是片段规则的代码:

对不起,代码墙,不知道从哪里开始!Robolectric 的版本是 3.0。

0 投票
1 回答
115 浏览

android - 使用 ShinobiControls 和 Robolectric 进行验证错误

在尝试运行在后台调用 ShinobiControls 的 Robolectric 测试时,我遇到了这个奇怪的 VerifyError。我试过 -noverify 选项,但它似乎不起作用,或者我把它放在错误的地方。

我正在使用 Retrolambda、Java 8、Robolectric (3.0) 和 Shinobi Premium (1.8.0)。

0 投票
3 回答
3320 浏览

android - 无法在 android studio 中为 robolectric 创建“test”文件夹

我想在我的 intellij 项目中添加 robolectric 测试。

我试图按照这个教程

但我不能在我的主模块下添加“测试”包。

此外,“构建变体”看起来与教程中的不同。

我怎样才能解决这个问题?

如何正确添加测试类?

在此处输入图像描述