如何在 Android 单元测试中调用侦听器接口
2022-09-04 19:38:33
						我的Android应用程序中有以下(示例)结构,我正在尝试为其编写单元测试:
class EventMonitor {
  private IEventListener mEventListener;
  public void setEventListener(IEventListener listener) {
    mEventListener = listener;
  }
  public void doStuff(Object param) {
    // Some logic here
    mEventListener.doStuff1();
    // Some more logic
    if(param == condition) {
      mEventListener.doStuff2();
    }
  }
}
我想确保当我传递 的某些值时,调用正确的接口方法。我可以在标准 JUnit 框架中执行此操作,还是需要使用外部框架?这是我想要的单元测试的示例:param
public void testEvent1IsFired() {
  EventMonitor em = new EventMonitor();
  em.setEventListener(new IEventListener() {
    @Override
    public void doStuff1() {
      Assert.assertTrue(true);
    }
    @Override
    public void doStuff2() {
      Assert.assertTrue(false);
    }
  });
  em.doStuff("fireDoStuff1");
}
我也是Java的初学者,所以如果这不是一个用于测试目的的好模式,我愿意将其更改为更易于测试的模式。