大佬教程收集整理的这篇文章主要介绍了android – 如何/我应该用Mockito对EventBus事件进行单元测试?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
在我的LoginNetworkOperation类中,我捕获了不同类型的网络连接错误,并为每个发布不同的总线事件,并且我的LoginPresenter类被注册为侦听器,并且在触发这些事件时调用某些方法.
我的问题是我是如何(并且我应该)单元测试LoginNetworkOperation是否抛出此事件而LoginPresenter是否使用mockito处理它?
我看了这个问题:Guava EventBus unit tests但它没有提供足够的信息,特别是在实现部分.
public class LoginNetworkOperation { public void execute(String username,String password) { try { // retrofit attempt } catch (Exception E) { bus.post(new ExceptionEvent(E)); } } } public class LoginPresenter { void onExceptionEvent(ExceptionEvent exceptionEvent) { // Do Something with the exception event } }
此外,这应该是受测试的主题,哪些应该是模拟对象?
这已经是一个集成测试:您将各个软件模块组合在一起并将其行为验证为一个组.
在这种情况下,“受测试的主题”是LoginNetworkOperation,EventBus和LoginPresenter的组合,模拟的对象是LoginNetworkOperation的输入,以及处理LoginPresenter输出的任何内容.
这三个软件模块也可以进行单元测试:
> LoginNetworkOperation.execute:模拟EventBus并验证是否使用正确的ExceptionEvent为不同的输入调用它.> LoginPresenter.onExceptionEvent:验证不同ExceptionEvents的正确行为.> EventBus.post:注册一个模拟的ExceptionEvent-Handler,发布一个ExceptionEvent并检查是否调用了Handler.
以上是大佬教程为你收集整理的android – 如何/我应该用Mockito对EventBus事件进行单元测试?全部内容,希望文章能够帮你解决android – 如何/我应该用Mockito对EventBus事件进行单元测试?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。