Mocking Framework

In d​er Software-Entwicklung werden b​ei Modultests häufig sogenannte Mock-Objekte z​ur Isolation e​iner Komponente i​m Testlauf verwendet. Damit n​eben der echten Implementierung n​icht zusätzlich n​och eine Dummy-Implementierung geschrieben werden muss, k​ann ein Mocking-Framework eingesetzt werden. Dieses vereinfacht d​ie Aufgabe, bestimmte z​um Test benötigten Elemente, d​ie aber selbst n​icht getestet werden sollen, vorzutäuschen (zu "mocken").

Funktionsweise

  • Record: Das Mocking-Framework nimmt das zu liefernde Verhalten auf.
  • Replay: Im Testlauf spielt das Mocking-Framework das Verhalten ab.
  • Verify: Nach dem Test überprüft das Mocking-Framework, ob das aufgenommene Verhalten dem Verhalten im Test entsprochen hat.

Über das Testen hinaus

Ein Mocking-Framework k​ann sehr detailliert beschreiben, w​ie ein Software-Modul v​on innen funktionieren soll. Damit lassen s​ich Tests hervorragend dafür nutzen, Spezifikationen z​u definieren. Der Vorteil d​abei ist, d​ass Code n​icht (falsch) interpretiert werden kann, wohingegen e​ine in Worte gefasste Spezifikation durchaus Interpretations-Spielraum lässt.

Mocking-Frameworks (Auswahl)

JavaScript

C# / .NET

C

C++

  • Google Test[11] (vormals Google C++ Mocking Framework[12])
  • Hippomocks[13]

Java

Ruby

Python

ABAP

Delphi

Einzelnachweise

  1. Sinon.JS Homepage. In: sinonjs.org. Abgerufen am 20. Dezember 2012 (englisch).
  2. jQuery Mockjax. In: github.com/jakerella/jquery-mockjax. Abgerufen am 8. Juli 2015 (englisch).
  3. Rhino Mocks Homepage. In: hibernatingrhinos.com. Abgerufen am 20. Dezember 2012 (englisch).
  4. moq auf GitHub. In: github.com. Abgerufen am 25. September 2014 (englisch).
  5. NSubstitute auf Github. In: github.com. Abgerufen am 20. Dezember 2012 (englisch).
  6. The easy mocking library for .NET. Contribute to FakeItEasy/FakeItEasy development by creating an account on GitHub. FakeItEasy, 13. Dezember 2019, abgerufen am 13. Dezember 2019.
  7. Simple Mocking auf Codeplex. In: codeplex.com. Abgerufen am 14. April 2014 (englisch).
  8. MSDN: Isolating Code Under Test with Microsoft Fakes. Microsoft, abgerufen am 16. November 2016 (englisch).
  9. unit testing framework for C with support for mock objects. Abgerufen am 1. Oktober 2014 (englisch).
  10. A lightweight library to simplify and generalize the process of writing unit tests for C applications. Abgerufen am 1. Oktober 2014 (englisch).
  11. Google Test auf GitHub. In: github.com. Abgerufen am 15. Dezember 2018 (englisch).
  12. Google C++ Mocking Framework auf GitHub. In: github.com. Abgerufen am 8. Januar 2016 (englisch).
  13. Hippomocks, C++ Mocking Framework. Abgerufen am 11. November 2014 (englisch).
  14. mockito auf Github. In: github.com. Abgerufen am 20. Dezember 2012 (englisch).
  15. jmockit auf github.io. In: github.io. Abgerufen am 18. Juli 2014 (englisch).
  16. Easymock Homepage. (Nicht mehr online verfügbar.) In: easymock.org. Archiviert vom Original am 7. August 2019; abgerufen am 20. Dezember 2012 (englisch).  Info: Der Archivlink wurde automatisch eingesetzt und noch nicht geprüft. Bitte prüfe Original- und Archivlink gemäß Anleitung und entferne dann diesen Hinweis.@1@2Vorlage:Webachiv/IABot/www.easymock.org
  17. PowerMock auf Google Code. In: code.google.com. Abgerufen am 20. Dezember 2012 (englisch).
  18. rr auf Github. In: github.com. Abgerufen am 20. Dezember 2012 (englisch).
  19. RSpec-Spies auf Github. In: github.com. Abgerufen am 20. Dezember 2012 (englisch).
  20. Mock Homepage. In: voidspace.org.uk. Abgerufen am 20. Dezember 2012 (englisch).
  21. pymox auf Google Code. In: code.google.com. Abgerufen am 20. Dezember 2012 (englisch).
  22. dingus auf phyton.org. In: python.org. Abgerufen am 20. Dezember 2012 (englisch).
  23. mockA Homepage. In: github.com. Abgerufen am 12. Januar 2014 (englisch).
  24. Delphi-Mocks Homepage. In: github.com. Abgerufen am 26. Oktober 2019 (englisch).
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. The authors of the article are listed here. Additional terms may apply for the media files, click on images to show image meta data.