M
MockMan
Gast
Folgendes Problem:
Angenommen ich habe einen Service mit 2 public Methoden (serviceA, serviceB), wobei serviceB den serviceA verwendet.
Nun möchte ich einen Junit Test für beide Methoden erstellen. Da der Test möglichst von anderen Klassen unabhhängig sein soll verwende ich für externe Objekte Mocks (EasyMock mocks).
Im Test erstelle ich also per Junit eine TestKlasse mit zwei Testmethoden (für jede Methode einen Test) und die einzige nicht gemockte Klasse ist halt der Service selber (logisch, den will ich ja testen).
Ich erstelle also testServiceA (soweit kein Problem).
Möchte ich jetzt aber testServiceB erstellen, dann muss ich, da serviceB ja den serviceA verwendet nochmal innerhalb dieses Tests das komplette Verhalten von serviceA erneut erstellen, da der Service selber ja logischerweise kein Mock ist und B den serviceA verwendet.
Diesen Fall hätte ich aber gerne unabhängig, da ich mit der anderen Testmethode ja den serviceA schon getestet habe. Besteht hier die Möglichkeit über einen Mock im testServiceB das Verhalten von ServiceA irgendwie zu mocken? Das Verhalten mehrfach zu erstellen wäre ja doof.
Angenommen ich habe einen Service mit 2 public Methoden (serviceA, serviceB), wobei serviceB den serviceA verwendet.
Nun möchte ich einen Junit Test für beide Methoden erstellen. Da der Test möglichst von anderen Klassen unabhhängig sein soll verwende ich für externe Objekte Mocks (EasyMock mocks).
Im Test erstelle ich also per Junit eine TestKlasse mit zwei Testmethoden (für jede Methode einen Test) und die einzige nicht gemockte Klasse ist halt der Service selber (logisch, den will ich ja testen).
Ich erstelle also testServiceA (soweit kein Problem).
Möchte ich jetzt aber testServiceB erstellen, dann muss ich, da serviceB ja den serviceA verwendet nochmal innerhalb dieses Tests das komplette Verhalten von serviceA erneut erstellen, da der Service selber ja logischerweise kein Mock ist und B den serviceA verwendet.
Diesen Fall hätte ich aber gerne unabhängig, da ich mit der anderen Testmethode ja den serviceA schon getestet habe. Besteht hier die Möglichkeit über einen Mock im testServiceB das Verhalten von ServiceA irgendwie zu mocken? Das Verhalten mehrfach zu erstellen wäre ja doof.