1

我正在使用 Robolectric 来测试一个扩展自定义视图的活动,但是当从 TypedArray 获取值时,一切都返回 null 或空字符串。为了从类型化数组中获取正确的值,需要做什么?

4

2 回答 2

2

Robolectric 不会重新实现整个 Android 标准库。

这是 TypeArray Shadow 类的链接: https ://github.com/pivotal/robolectric/blob/master/src/main/java/com/xtremelabs/robolectric/shadows/ShadowTypedArray.java

它似乎遗漏了一些东西。您可以使用此功能来确认它确实缺少这些功能: http: //pivotal.github.com/robolectric/javadoc/com/xtremelabs/robolectric/Robolectric.html#logMissingInvokedShadowMethods()

也就是说,有希望。 最近发布了Robolectric 2.0 Alpha 1 。虽然我还没有使用它,但它声称将需要更少的影子实现,因为它将直接使用 Android 实现。

于 2013-02-02T02:31:21.027 回答
0

尝试getStringArray()改用。例如:

String[] myStringArray = Robolectric.getShadowApplication().getResources()
    .getStringArray(R.array.MyStringArrayIdentifier)
于 2015-05-28T22:43:36.550 回答