android – Robolectric Test不调用textWatcher.onTextChanged

我有以下Observable

Observable<OnTextChangeEvent> subjectObservable = WidgetObservable.text(mComposeSubject);

然后呢

subjectObservable.subscribe(s -> onTextChange(mComposeSubject, getString(R.string.blank_warning, mComposeSubject.getHint().toString())));

我还有以下Robolectric测试

@Test
public void testOnTextChange_subjectChanged() {
    EmailActivity activity = spy(getActivity());
    activity.mComposeSubject.setText("test");

    assertThat(activity.mSubjectSubscription).isNotNull();
    verify(activity, times(1)).onTextChange(eq(activity.mComposeSubject), anyString());
}

这是因为通缉但未调用错误而失败.有没有人知道为什么会这样?据我所知,这使用一个简单的文本观察器,所以它应该工作?

最佳答案 对于任何好奇,我最终将订阅者移动到另一个类,然后使用Observable.just(“Test”)触发订阅方法并验证它被调用.

点赞