Session

Mocks, Fakes, Stubs – ist da ein Unterschied? Braucht man das noch?

Automatisierte Tests sind eine große Hilfe, wenn sie brauchbar schnell ausgeführt werden. Das geht meistens nur dann, wenn nicht immer die gesamte Anwendung getestet wird, sondern wenn man Teile davon ausblenden oder mit einem klar vorhersagbaren Verhalten simulieren kann. Dafür kommt üblicherweise "Mocking" zum Einsatz, egal ob bei Unit- oder bei Integrationstests.

Allerdings stehen "Mocks" zunehmend in der Kritik. Mock-Tests seien fragil und hätten einen hohen Wartungsaufwand – würden also eher stören als helfen. Andere dagegen halten Mocking nach wie vor für unverzichtbar. Wie soll man nun damit beim Schreiben neuer Tests umgehen? Braucht man Mocks überhaupt noch?

Meiner Erfahrung nach ist häufig nicht klar, was mit einem "Mock" gemeint ist. Denn es gibt unterschiedliche Arten von "Test Doubles", die alle nützlich und hilfreich sind – wenn sie passend eingesetzt werden. In dieser Grundlagen-Session geht es daher um die Klärung der Begriffe, die vor 15-20 Jahren durch die "xUnit Patterns" geprägt wurden.

Wir schauen uns mit ein paar Folien und viel Live-Coding die verschiedenen Arten von "Test Doubles" an und werden sehen, welche Auswirkungen das auf die Wartbarkeit bzw. Stabilität von Tests hat; gerade auch im Hinblick auf Änderungen im zu testenden Code. Dabei geht es nicht darum, ob eine Variante besser ist als die andere. Sondern darum, die Unterschiede zu kennen und jede Art passend einsetzen zu können. Am Ende gibt es noch einen kurzen Ausblick auf das neue Konzept der "Nullables", als Ergänzung und Weiterentwicklung der bekannten Patterns.

Thomas Much

Technical Agile Coach. Tech. People. Together.

Hamburg, Germany

View Speaker Profile

Please note that Sessionize is not responsible for the accuracy or validity of the data provided by speakers. If you suspect this profile to be fake or spam, please let us know.

Jump to top