2016-06-16 11 views
-3

Wenn ich 2 Funktionen habe. Function1, die function2 aufruft. Ich muss Testfall für sie schreiben. Ich benutze Mockito. Merkmal.Mockito Verify andere Funktion wird mit rechten Parameter aufgerufen, wenn wir eine Funktion aufrufen

Nur Mimik der Sachen

enter image description here

+0

Sie sollten eine klare Frage haben, was die Details Das Problem ist. Außerdem sollten Sie stackoverflows Code-Formatierung anstelle von Bild einfügen verwenden. Einfacher zu lesen und zu kopieren von. Siehe http://meta.stackexchange.com/questions/22186/how-doi-i-format-my-code-blocks – thoredge

+0

Ich möchte überprüfen, dass beim Aufruf von function1 function2 mit richtigen Parametern aufgerufen wird. @thoredge Vielen Dank für Ihre Eingabe und wird es sicherlich notieren. – user786

Antwort

0

Die allgemeine Antwort etwas sein könnte, können Sie nicht mögen:

Tun Sie es nicht!

Dies ist keine technische Antwort auf Ihre technische Frage, sondern eine eher strategische.

Sie sollten die Gültigkeit einer Funktion nur anhand ihres beobachtbaren Verhaltens testen und bewerten. e. es ist das Ergebnis. Um die Gültigkeit einer bestimmten Struktur [1] zu binden, wird Ihre Implementierung und Ihr Test extrem unflexibel.

Sie hätten Ihre Tests jedes Mal neu schreiben müssen, wenn eine Änderung der Implementierung vorgenommen wurde, auch wenn keine funktionalen Änderungen vorgenommen wurden, sondern nur strukturelle. Dies macht Ihre Tests unbrauchbar, da sie das angegebene Verhalten nicht bestätigen, sondern nur Ihre spezielle Implementierung widerspiegeln. Das belastet jedes Refactoring, das Sie vornehmen müssen.

[1] wie: „es nennt Funktion f mit diesem Parameter“ oder „es Funktion g nach f ruft“ oder „es eine Funktion n-mal ruft“)

+0

Ihre Punkte sind einfach knallhart. Das sind beides reine Methoden, die sich auf die Eigenschaften testen lassen und es gibt sicher keinen unmittelbaren Grund, sich darum zu kümmern, ob man den anderen anruft. – user786

+0

Wenn * Sie * meine Antwort "bang on" betrachten und über das Testen von Objekten Bescheid wissen und was Sie im Test beachten sollten, warum haben Sie dann * Sie * die Frage überhaupt gestellt? – Det