我们在工作中使用Robolectric进行工作似乎效果不佳Action Bar Sherlock。
问题是我收到No implementations match configuration
消息,因为Build.VERSION.SDK_INT
== 0时通过robolectric运行。
如果有人对使用Robolectric获得ABS的最佳方法有所了解,我很想知道。如果我发现我会在这里发布我的结果,但似乎很难找到有关如何使这个流行的工具包和库一起工作的信息。
答案 0 :(得分:8)
解决这个问题的两种方法:
Build.SDK_INT
值更改为实际值:RobolectricTestRunner.setStaticValue(Build.VERSION.class, "SDK_INT", 15);
@ActionBarSherlock.Implementation(api = 0)
进行注释(不要忘记同时调用ActionBarSherlock.registerImplementation
)。答案 1 :(得分:1)
对于较新版本的 Robolectric 2.2 ,您可以更改 Build.VERSION.SDK_INT 值,如下所示:
Robolectric.Reflection.setFinalStaticField(Build.VERSION.class, "SDK_INT", 15);