问题标签 [robolectric]

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 投票
2 回答
1174 浏览

android - 有没有办法从 Robolectric 中删除影子类?

Robolectric有一个名为的影子类ShadowMatrix,但我不想使用它。如何将其从 robolectric 中移除?我希望改用原始Matrix课程。

0 投票
6 回答
10610 浏览

android - 如何使用 Robolectric 隐藏 PackageManager

我的 Android 应用程序有一个简单的方法来触发显示 URL 的意图。

我正在使用 Robolectric 进行单元测试,但我无法验证此方法。具体来说,getPackageManager()总是返回 null。我怎样才能阴影PackageManager?我尝试创建一个ShadowPackageManager并调用bindShadowClass,但我的代码都没有被执行——getPackageManager()总是返回null。我还尝试隐藏 Application 上下文并返回一个具体的StubPackageManager,但得到了相同的结果。也许我一直在搜索/盯着太久 - 有没有更好的方法来单元测试这个方法?

0 投票
0 回答
441 浏览

android - 数据库测试 Robolectric 不工作

我已经构建了一个 DAO 类来与 Android 中的 SQLiteDatabase 进行通信。当我在实际设备上运行一个简单的测试时,它可以工作。我能够将用户插入数据库并检索相同的用户。但是,当我使用 Robolectric 运行它时,我收到了 NullpointerException。这是 Robolectric 的问题吗?这是代码

而且测试...

0 投票
1 回答
1149 浏览

android - 让 robolectric 与 android 兼容包一起工作

我尝试使用 Robolectric 为我的 Android 应用程序运行测试,该应用程序使用 android-support 包。在我的 onCreate() 方法中,我调用

不幸的是,getSupportLoaderManager() 在这里返回 null。我是否必须准备任何东西才能使兼容性类可用于 robolectric?

我的测试项目的类路径中有 android.jar (android-8) 和 android-support-v4.jar,以及 robolectric-1.2 快照版本。

测试类:

编辑:

输出 android.support.v4.app.LoaderManagerImpl@9a90b9 所以我想,我只需要将它反馈给活动?好像我离这里越来越近了。

Edit2:我试图绑定我自己的 ShadowFragmentActivity:

这似乎暂时有效。我将不得不进一步尝试看看它是否符合我的要求。不知道这是否是正确的方法。

0 投票
1 回答
490 浏览

android - RoboGuice 2.0 和 Robolectric 1.1 测试 RoboAsyncTask

我目前在我的 Android 应用程序中同时使用 RoboGuice 2.0 和 Robolectric 1.1。我注意到 RoboLooperThread 在 2.0 中消失了,我在调用任何 RoboAsyncTask 时遇到了困难。当主测试线程调用.execute()RoboAsyncTask,永远不会调用 RoboAsyncTask 的call()方法。我的问题是如何强制测试线程来回切换 UI 线程,以便执行任务?

谢谢,

文斯

0 投票
1 回答
1199 浏览

android - Android robolectric InstantiationException from WebSettings

I have trouble running some test cases, which broke after I upgraded the api to 4.1 (not sure if it is related, but the error doesn't seem to suggest so)

in the given class of ShadowWebView, There is a line

The above line leads to

which then leads to RobolectricInternals.java and executes the following method

the method has the following source code:

the exception thrown (u see in the error log above) is because of this line

i am not sure what is causing this and how to fix this only observation i made was the WebSettings.java from android used to be a non-abstract class, but now it is an abstract class, i thought this was the culprit, but then when i switched to older api such as level 12, (for which websettings.java is not declared abstract), i still have the same error

0 投票
1 回答
2722 浏览

android - 使用 Robolectric 测试 DialogFragments

我有几个关于DialogFragment使用 Robolectric 测试课程的问题,因为我在 Internet 上遇到了关于这个主题的完全缺乏信息。

  1. 传递给的正确论点是onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)什么?
  2. 我无法将参数传递给DialogFragment,我正在使用以下方法:

    /li>

每当代码尝试访问参数时,它都会以NullPointerException.

将高度赞赏有关这些主题的任何想法。

0 投票
1 回答
674 浏览

android - Robolectric - 如何模拟 com.actionbarsherlock.view.MenuItem?

我正在尝试使用Robolectric为使用SherlockActionBar的应用程序编写测试。如果选择了 an ,我需要测试应用程序是否正确MenuItem,但是 Robolectric 库仅android.view.MenuItem在应用程序使用方法时提供模拟onOptionItemSelected(com.actiombarsherlock.view.MenuItem)

所以我的问题是:

  • 可能有一种可以模拟的能力com.actionbarsherlock.view.MenuItem吗?

  • 还是解决方法之类的?

提前致谢...

0 投票
1 回答
1086 浏览

android - Robolectric:findViewById 返回 null

我正在尝试用 Robolectric 做一个非常简单的测试,我想测试一个视图是否存在。这与 Robolectric 网站中的示例非常相似,但findViewById一直返回 null。

可能是什么问题?

这是活动:

这是测试:

布局 XML 文件包含ImageView具有正确 id 和资源的,在模拟器中运行活动就可以了。

0 投票
1 回答
191 浏览

android - 我是否正确 Robolectric 现在不支持 Spinner

尝试使用 Spinner 测试 Dialog 并得到:

我说 Robolectric 现在不支持 Spinner 是否正确?

也不能为它注册影子吗?