Was sind die Unterschiede zwischen MOQ und AutoFixture?

8

Ich habe ziemlich viel Erfahrung mit MOQ, während ich kürzlich in AutoFixture gestolpert bin. Was sind die Unterschiede zwischen diesen Frameworks?

    
Carlo V. Dango 26.04.2011, 06:10
quelle

1 Antwort

12

Die FAQ erläutert den Unterschied. Kurz gesagt

  

AutoFixture verwendet Reflection, um "artige" Instanzen von öffentlichen Typen zu erstellen. Es generiert automatisch Instanzen anderer Typen, falls erforderlich, um Argumente für einen Konstruktor auszufüllen, und weist auch den beschreibbaren Eigenschaften für öffentliche Daten Werte zu. Im Wesentlichen verwendet es einfach die öffentliche API des angeforderten Typs, um sie zu instanziieren und zu füllen. Es macht nichts, was Sie als Entwickler nicht manuell tun könnten - es erledigt es automatisch für Sie.

     

Im Gegensatz dazu leiten die meisten Dynamic Mock-Bibliotheken von bekannten Typen ab, um das Verhalten virtueller Member zu überschreiben. Ihr Zweck ist die Verhaltensüberprüfung des zu prüfenden Systems (SUT).

Sie können AutoFixture mit Moq kombinieren, um es in einen Automocking-Container zu verwandeln .

>     
Mark Seemann 26.04.2011, 06:26
quelle