2 Stimmen

Wie kann man 2 Methoden in derselben Klasse, in der die erste Methode die zweite Methode aufruft, einem Einheitstest unterziehen?

Nehmen wir an, ich habe eine Klasse MyClass mit 2 öffentlichen Methoden, methodA() y methodB() , die beide den gleichen Objekttyp zurückgeben.

methodA() führt einige Berechnungen durch und ruft dann methodB .

Wie sollte ich diese Klasse testen? Werde ich alle Tests wiederholen müssen, die ich für methodA() において methodB() ?

Wie kann man das angehen?

Danke

2voto

duffymo Punkte 298898

Testen Sie beide unabhängig voneinander, denn so werden die Kunden sie sehen.

2voto

robert Punkte 31314

Sie sollten testen methodA() als ob Sie nicht wüssten, wie es umgesetzt wird. Wenn Sie es dann so ändern, dass Sie methodC() anstelle von methodB() in der Zukunft, haben Sie immer noch Versicherungsschutz.

1voto

Chris Punkte 21

Das hängt von dem zu testenden Code ab und davon, wie gründlich Sie sein wollen. Wenn das Ergebnis von methodA() durch methodB() beeinflusst wird, könnte man nur methodA() testen, aber wie duffymo sagt, ist es am besten, beide zu testen, und wie robert sagt, ist es am besten, den Test für methodA() so zu codieren, als ob man nicht wüsste, dass er durch methodB() implementiert wurde, und dasselbe für methodB(). Da sowohl methodA() als auch methodB() öffentlich sind, sollte jede separat getestet werden. Aber es ist am besten, wenn der Test für methodA() sicherstellt, dass methodA() seine Aufgabe erfüllt und der Test für methodB() sicherstellt, dass methodB() seine Aufgabe erfüllt, so dass die Tests nicht wirklich gleich sein sollten.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X