Moq

moq
Basisdaten

Aktuelle Version 4.16.0[1]
Programmier­sprache .NET Framework
Kategorie Test-Framework
Lizenz BSD-Lizenz
https://github.com/moq/moq4#moq

moq ist eine freie (BSD-Lizenz) Programmbibliothek zum Erstellen von Mock-Objekten für Unit-Tests in .NET-Programmiersprachen.

Geschichte

moq wurde ursprünglich von Clarius, Manas und InSTEDD entwickelt.[2]

Die Entwickler mit den meisten Commits nennen sich Jeremy Meng, stakx und Daniel Cazzulino.[3]

Verwendung

Das q anstelle von ck im Namen soll auf die Möglichkeit hinweisen, Mock-Objekte mit einer an LINQ orientierten Syntax zu konfigurieren[4]. Alternativ dazu stehen auch Setup-Methoden zur Verfügung. Beide Konfigurationsmöglichkeiten arbeiten mit Lambda-Funktionen.

moq kann sowohl mit Interfaces als auch mit Klassen verwendet werden, z. B. für .NET-Framework-Objekte beim Unit-Testen von ASP.NET-MVC-Anwendungen.[5]

Beispiel

Ein Mock-Object für das fiktive Interface IVersion wird nach Konfiguration eines Methodenaufrufs mit Parameter- und Rückgabewert auf Zustand und Verhalten getestet.

// Setup mock for notional IVersion interface
IVersion version = Mock.Of<IVersion>(x => x.Exists("4.7.142") == true);
// Assert the returned state
Assert.IsTrue(version.Exists("4.7.142"));
// Optionally verify mock interaction
Mock.Get(version).Verify(x => x.Exists("4.7.142"), Times.Exactly(1));

Dieses Beispiel wurde in C# programmiert und mit Visual Studio 2015 überprüft.

Verbreitung

moq wurde seit dem 9. Februar 2011 mehr als 126 Millionen Mal als NuGet-Paket heruntergeladen.[6]

Siehe auch

Einzelnachweise

  1. github.com.
  2. README.md Who? (Englisch), abgerufen am 27. September 2017
  3. Github contributors (Englisch), abgerufen am 27. September 2017
  4. Daniel Cazzulino's Blog: Linq to Mocks is finally born (Memento des Originals vom 24. September 2017 im Internet Archive)  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/blogs.clariusconsulting.net (Englisch), abgerufen am 27. September 2017
  5. Peter Vogel: Ensure Consistent Testing with Mock Objects and Moq, Visual Studio Magazine (Englisch), abgerufen am 27. September 2017
  6. NuGet Packages Gallery (Englisch), abgerufen am 25. August 2020

Content Disclaimer

Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.

  1. The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
  2. There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
  3. It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
  4. Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
  5. Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.