Mocking einen Anruf auf eine öffentliche Methode einer abstrakten Klasse ohne Unterklassen der abstrakten Klasse, mit mockito prefererably

Ich bin schreiben eines unit Tests mit JUNIT + Mockito testen eine Methode wie :

public someObject methodUnderTest(){
  SomeObject obj = SomeAbstractClass.someMethod();

  if(obj!=null){
    obj.someOtherMethod();
  }

  return someThing;
}

Und ich möchte mock den Anruf auf abstract Class "SomeAbstractClass" erwähnt im obigen code-fragment, so kann ich überprüfen, rufen Sie auf "obj" wie :

verify(SomeAbstractClass).someMethod();
verify(obj).someOtherMethod();

Habe ich versucht, mit Hilfe von mockito features wie :
Mockito.CALLS_REAL_METHODS
Mockito.RETURNS_MOCKS

aber Sie arbeiten nicht aufgrund von Abhängigkeiten nicht verfügbar sind, um die SomeAbstractClass.

Hinweis:

1) SomeObject ist eine Schnittstelle.

2.) brauche ich eine Technik, um zu testen, obigen code-fragment. Ich bin gezwungen, mit dem obigen code-fragment und keine änderungen an der code-fragment.

InformationsquelleAutor Mrugen Deshmukh | 2012-05-26

Schreibe einen Kommentar