Laden...

Unit Test von privaten Methoden

Erstellt von g0su vor 8 Jahren Letzter Beitrag vor 8 Jahren 2.031 Views
G
g0su Themenstarter:in
45 Beiträge seit 2013
vor 8 Jahren
Unit Test von privaten Methoden

Pro / Contra: Unit Test von privaten Methoden.

Was meint Ihr? Sinnvoll oder nicht? Soll man oder nicht?

2.207 Beiträge seit 2011
vor 8 Jahren

Was meinst du? Ob man es machen sollte? Ob man es machen kann? Ob es sinnvoll ist?

Erstens kann man prüfen, ob neben "private" vielleicht auch ein "internal" in Frage kommt. Dann kann man mit dem "InternalsVisibleTo"-Attribut arbeiten.

Zweitens muss man fragen: Wenn ich eine private Methode so umfangreich mache, dass sie einen Unit-Test nach sich zieht, hat sie dann nicht eventuell eine eigene Klasse verdient? Diese wäre dann wieder einfacher Testbar.

Gruss

Coffeebean

G
g0su Themenstarter:in
45 Beiträge seit 2013
vor 8 Jahren

Ging mir um "sinnvoll oder nicht" - primär - grundsätzlich aber um Unit Tests von privaten Methoden. Deine Antwort ist auf jeden Fall schon mal ein guter Anfang.

Ich habe diesen Beitrag gelesen und wollte einfach mal ein paar Meinungen hören (ääähm lesen 😉).

2.207 Beiträge seit 2011
vor 8 Jahren

TDD: Hilfsklassen auch testen?

und

Private Methoden in NUnit testen

Hilft vielleicht auch.

Gruss

Coffeebean

P
1.090 Beiträge seit 2011
vor 8 Jahren

Grundlegend sollten nur für public Methoden Unit Tests geschrieben werden. Wenn es nötig sein sollte private Methoden zu Testen, sollte man noch mal überdenken, ob dass was man da macht, nicht besser geht. (An dem Punkt geht TDD, davon aus, das wenn es schwer wird (nicht möglich ist) einen Unit Test zu schreiben, wahrscheinlich ein Designen Fehler vorliegt.)

Es gibt aber auch immer mal Fälle, in dehnen es durchaus Sinnvoll, ist für private Methoden einen UnitTest zu schreiben. Auch wenn der Artikel was anderes Schreibt bei Legacy Code, halte ich es durch aus für Sinnvoll erst Tests zu schreiben und dann die Methode zu ändern. Ich ändere dann aber meist die Sichtbarkeit von Private auf Internal.

MFG
Björn

Sollte man mal gelesen haben:

Clean Code Developer
Entwurfsmuster
Anti-Pattern