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

android–Robolectric– 如何模拟com.actionbarsherlock.view.MenuItem?,第1张

概述我正在尝试使用Robolectric为使用SherlockActionBar的应用程序编写测试.如果选择了MenuItem,我需要测试应用程序是否做正确的事情,但是当应用程序使用onOptionItemSelected方法(com.actiombarsherlock.view.MenuItem)时,Robolectriclib仅为android.view.MenuItem提供模拟.所以我

我正在尝试使用Robolectric为使用SherlockActionbar的应用程序编写测试.
如果选择了MenuItem,我需要测试应用程序是否做正确的事情,但是当应用程序使用onoptionItemSelected方法(com.actiombarsherlock.vIEw.MenuItem)时,Robolectric lib仅为android.vIEw.MenuItem提供模拟.

所以我的问题是:

>可能有一个可用性来模拟com.actionbarsherlock.vIEw.MenuItem?
>或解决方法或什么?

提前致谢…

解决方法:

所以…因为没有更优雅的方式来模拟com.actionbarsherlock.vIEw.MenuItem我这样做了:

>制作我自己的实现com.actionbarsherlock.vIEw.MenuItem的类
>在我的mock类中为itemID添加了一个int字段.
> MenuItem接口中的其他方法留空(可能我将在其他测试中使用它们)

结果我得到了这样的测试:

com.actionbarsherlock.vIEw.MenuItem item = new TestSherlockMenuItem(R.ID.some_action);activity.onoptionsItemSelected(item);ShadowActivity shadowActivity = Robolectric.shadowOf(activity);Intent startedIntent = shadowActivity.getNextStartedActivity();assertNotNull(startedIntent);ShadowIntent shadowIntent = Robolectric.shadowOf(startedIntent);assertthat(shadowIntent.getComponent().getClassname(),                equalTo(NextActivity.class.getname()));

顺便说一句,感谢Eugen Martynov试图理解我的问题:)

总结

以上是内存溢出为你收集整理的android – Robolectric – 如何模拟com.actionbarsherlock.view.MenuItem?全部内容,希望文章能够帮你解决android – Robolectric – 如何模拟com.actionbarsherlock.view.MenuItem?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1106237.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-28
下一篇2022-05-28

发表评论

登录后才能评论

评论列表(0条)

    保存