2009-09-19 7 views

Antwort

10

Wie bereits erwähnt, haben Cucumber und Shoulda ziemlich unterschiedliche Ziele. Sie können sich vorstellen, dass Gurke das Test-Framework "view from 10.000 feet" ist - Sie definieren ein breites Feature oder eine bestimmte Benutzerinteraktion und stellen sicher, dass alles zusammenarbeitet. Shoulda ist für Unit-Tests - Sie wählen ein bestimmtes Modell aus und testen gründlich alle wählerischen kleinen Teile der Funktionalität für das einzelne Stück.

Normalerweise möchten Sie diese Art von Frameworks in Verbindung verwenden. Zum Beispiel können die meisten Ihrer allgemeinen High-Level-Tests in Cucumber geschrieben werden. Wenn jedoch ein besonders komplexer oder undurchsichtiger Code in Ihrem System vorhanden ist, können Sie Drilldowns mit Shoulda oder RSpec durchführen, um die Details zu testen.

3

Sie haben völlig unterschiedliche Ziele. Shoulda ist eine Unit-Testing-Erweiterung, die auf Test :: Unit aufbaut.

Gurke ist ein Akzeptanz/Functional Testing Framework, das Test :: Unit/RSpec/Was auch immer für die Assertions zu verwenden.

Shoulda kann zum Beispiel direkt mit RSpec verglichen werden.

1

Gurke zielt auf Akzeptanztests. Shoulda ist ein Unit-Testing-Framework.

1

Shoulda ist eine Erweiterung des Test::Unit-Frameworks, das aus Testmakros, Assertions und Helfern besteht. Shoulda ist eine schönere Art, Komponententests zu schreiben.

Gurke - eine Neuschreibung von RSpec "Story runner" - ist ein Werkzeug für Behaviour-Driven Development. Es ermöglicht Ihnen, ausführbare Spezifikationen in einer geschäftslesbaren domänenspezifischen Sprache zu schreiben. Gurke ist mehr ein Akzeptanztest-Tool.

Gurke und Shoulda haben also unterschiedliche Zielsetzung (auch wenn Shoulda für BDD verwendet werden kann).

3

Ich sehe niemanden sonst, dass Sie eigentlich can use Shoulda als die "Test-Engine" für Gurke erwähnen.