Was sind die Vorteile von Mokka über RSpec eingebauten mocking framework?
Ich merke, dass eine Menge Leute es vorziehen, Mokka über RSpec eingebauten mocking framework. Kann jemand erklären, die Vorteile von Mokka, oder eine alternative, über RSpec ist gebaut in einem mocking framework?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Einer bestimmten Funktion, die ich wirklich mag, ist in der Lage, um auszudrücken, alle Instanzen einer Klasse. Viele Male habe ich etwas wie die folgende mit RSpec-mocks:
mit Mokka wird:
Ich finde die Mokka-version klarer und deutlicher.
Ruby mocking-frameworks entwickelt haben, eine Menge, seit diese Frage gestellt wurde, in 2009. So, hier ist ein wenig 2013 Vergleich:
Erwartungen
expect(user).to receive(:say_hello)
user.expects(:say_hello).once
Stubbing ein Objekt
user = double(name: 'John Doe')
user = stub(name: 'John Doe')
Stubbing alles
User.any_instance.stub(:name).and_return('John Doe')
User.any_instance.stubs(:name).returns('John Doe')
Bieten Sie die gleiche Ausstattung, und beide können verwendet werden, mit oder ohne Rspec.
Also ich würde sagen, die Wahl des einen über das andere ist eine Frage des persönlichen Geschmacks (und Sie schmecken ziemlich gleich).
Soweit ich weiß, Mokka unterstützt Double-Injektionen (aka Teilweise Spott, unterstützt in der rr), nicht sicher, dass RSpec unterstützt diese Funktion auch.
Auch für diejenigen, die lieber zum Umschalten zwischen Test-frameworks Mocha ist eine Universelle Lösung anwendbar für Test/Unit, Shoulda, etc. Mit RSpec Spott mit allen, die diese libs werden ein overkill.
Ich für einen Einsatz, Mokka, weil ich nicht verwenden, rspec. Ich benutze test/unit, und test/unit nicht haben, stubbing und mocking eingebaut.