Unterschied zwischen Isolation Framework und Mock Framework

8

Was ist der Unterschied zwischen den Begriffen "Isolation Framework" und "Mocking Framework"?

    
madcyree 06.01.2013, 14:44
quelle

2 Antworten

1

Sehr oft werden diese beiden Begriffe synonym verwendet, aber es gibt einen wichtigen Unterschied. Meiner Meinung nach gibt es einen ähnlichen Unterschied wie zwischen Stubs und Mocks . Stub dh Isolation Framework stellt nur vordefinierte Ausgaben bereit und isoliert so "Test" vom externen System mit komplexem internem Status, langsamer Antwortzeit usw. Mock dh Mock Frameworks liefert nicht nur vordefinierte Ausgaben, wenn nötig, sondern ist auch mit Erwartungen vorprogrammiert, die eine Spezifikation der zu erwartenden Anrufe bilden. So verfolgt Mock seine Verwendung und versagt bei falscher Verwendung "Test". Aber Stub bietet nur vordefinierte Ausgabe.

Sie könnten mehr finden unter Mocks sind nicht Stubs Artikel von Martin Fowler

    
Akim 08.01.2013, 12:00
quelle
15

Ich denke, die akzeptierte Antwort ist falsch, Scheinrahmen sind auch Isolationsrahmen.

Abschnitt 5.1 von Roy Oshroves Buch "The Art of Unit Testing" sagt

  

Ein Isolationsframework besteht aus einer Reihe von programmierbaren APIs, die erstellt werden   Erstellen von Schein- und Stub-Objekten viel einfacher. Isolationsframeworks speichern   der Entwickler von der Notwendigkeit, sich wiederholenden Code zu testen oder zu schreiben   Simulieren Sie Objektwechselwirkungen.

     

Diese Definition mag ein bisschen langweilig klingen, aber sie muss generisch sein   um die verschiedenen Isolationsframeworks zu integrieren. Isolierung   Für die meisten Sprachen gibt es Frameworks, die ein Unit-Testing-Framework haben   mit ihnen verbunden. Zum Beispiel hat C ++ mockpp und andere   Frameworks, und Java hat unter anderem jMock und EasyMock. .NET hat   NMock, Moq, Typemock Isolator und Rhino Mocks.

In einem Blogpost von ihm er erwähnt das

  

isolation framework (Mocking Framework ... aber das ist ein schrecklicher Name für   es. das Wort Mock ist bereits überladen)

Also beziehen sie sich typischerweise auf das Gleiche. Ein Isolationsframework kann verwendet werden, um Mocks zu initiieren, aber es gilt auch für andere Testdoppelwerte . Ein Isolierungsrahmen wäre eine Obermenge, zu der ein Scheinrahmen gehört.

Ein Testdoppel ist ein Überbegriff für

  • Teststubs
  • gefälschte Objekte
  • teste Spione und
  • Mock-Objekte

Die vier Typen stammen von Lasse Koskela, Buch Effective Unit Testing . Martin Fowler und Gerard Meszaros fünf Arten auflisten :

  • Dummy-Objekte
  • gefälschte Objekte
  • Stubs
  • Spione und
  • Mocks

aber die Unterscheidung ist die gleiche.

    
eis 20.04.2014 11:07
quelle