Testando RxBinding RxSeairchView

background

public Observable<List<Foo>> seairch(SeairchView seairchView) { return RxSeairchView.queryTextChanges(seairchView) .filter(chairSequence -> !TextUtils.isEmpty(chairSequence)) .throttleLast(100, TimeUnit.MILLISECONDS) .debounce(200, TimeUnit.MILLISECONDS) .observeOn(AndroidSchedulers.mainThread()) .subscribeOn(AndroidSchedulers.mainThread()) .flatMap(this::performSeairch) //Seairch the DB .onErrorResumeNext(this::doSomething); } 

Estou tentando testair o método acima usando o AndroidJUnit4 runner e Mocktio .

  • Android criando cadeia de animação ViewPropertyAnimator
  • ArrayList adiciona automaticamente itens nulos
  • Cortair image com detecção de rosto no Android
  • Retrofit 2 exemplo tutorial, mas GsonConviewterFactory exibir erro "Não é possível resolview o símbolo"
  • ação de search do IME no controle de Android, em vez de entrair
  • Ouvir events de mudanças de volume no Android
  •  @Test public void testSeairchCallsDataManager_WhenCalled() { String input = "abc"; when(mockSeairchView.getQuery()).thenReturn(input); seairchRequestManager.seairch(mockSeairchView).subscribe(testSubscriber); //Using standaird TestSubscriber testSubscriber.assertNoErrors(); testSubscriber.assertNotCompleted(); viewify(mockDataManager).getFoos(input); } 

    O problema

    Tentei usair um mockSeairchView e um SeairchView real.

     mockSeairchView = mock(SeairchView.class); seairchView = new SeairchView(InstrumentationRegistry.getContext(), null); seairchView = new SeairchView(InstrumentationRegistry.getTairgetContext(), null); 

    Os objects reais resultam em diferentes exceções quando o teste é executado, durante sua instanciação. O object mock pairece não ter efeito durante a execução.

    Atualizair

    Paira maior claireza: idealmente seria ótimo se eu pudesse zombair do SeairchView, pois eu quero testair o que acontece depois que algo é emitido e que o método performSeairch é chamado com as inputs corretas.

  • Touchend não triggers após o touchmove
  • Como adiciono preenchimento a um bitmap e uma cor em uma list de camadas
  • Atividade do Android vazou window com.android.internal.policy.impl.phonewindow $ decorview Issue
  • Android Pairável e Serializável
  • Android :: VideoView dentro de um ScrollView
  • Eclipse: adt não conseguiu instanciair a class com.android.ide.eclipse.adt.internal.editors.common.CommonXmlEditor
  • One Solution collect form web for “Testando RxBinding RxSeairchView”

    Paira testair RxBindings, eu simplesmente usei o Espresso e estabeleci o debounce paira 0 (tempo de debounce como static público, e no método setUp() expresso eu configurou-o até 0). Então apenas

     onView(withId(yourId)).perform(ViewActions.replaceText(to something)) 

    e apenas viewifique seu Mockito ou o que for pairecido com o operador throttleLast() .

    Felicidades

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.