我在我的Android应用中使用Otto的EventBus。
在我的LoginNetworkOperation类中,我捕获不同类型的网络连接错误,并为每个错误发布不同的总线事件,我的LoginPresenter类注册为监听器,当这些事件被触发时,特定的方法将被调用。
我的问题是,我应该如何(并且应该)使用Mockito单元测试LoginNetworkOperation是否抛出此事件,并且LoginPresenter是否处理它?
我查看了这个问题:Guava EventBus unit tests,但它没有提供足够的信息,特别是在实现部分。
在我的LoginNetworkOperation类中,我捕获不同类型的网络连接错误,并为每个错误发布不同的总线事件,我的LoginPresenter类注册为监听器,当这些事件被触发时,特定的方法将被调用。
我的问题是,我应该如何(并且应该)使用Mockito单元测试LoginNetworkOperation是否抛出此事件,并且LoginPresenter是否处理它?
我查看了这个问题: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
}
}
此外,在这里应该是哪个被测试的对象
,哪个是模拟对象?
我在Android Studio中使用JUnit+Mockito+Robolectric,我的测试工件是单元测试
EventBus.post
单元测试?如果是,那么是的。 - Bewusstsein