2016-09-14 3 views

Antwort

2

Ich würde eine Datei von Hand schreiben, die als Testvorrichtung fungiert. Ich würde dann als Teil meines Tests die Datei mit dem Generator generieren. An diesem Punkt würde ich die zwei Dateien unterscheiden. Sieht so aus, als könnte dir der Diffy-Edelstein helfen. Wenn es keinen Unterschied gibt, dann besteht der Test. Scheitern, wenn nicht anders.

https://github.com/samg/diffy

Vergessen Sie nicht, Ihre temporären Dateien nach den Tests zu bereinigen. Du willst nicht, dass sie in deinen Repos herumhängen.

0

Ich habe keine offiziellen Empfehlungen gefunden, wie man auch Schienengeneratoren testet. Also, ich bin gerade Generator direkt auf Dummy-Anwendung, vergleichen Sie generierte Dateien und lösche sie am Ende des Tests.

Here ist meine Spezifikation, die beschriebenen Ansatz implementieren. Ich hatte minispec anstelle von rspec hier verwendet, aber sie sind sehr ähnlich.

0

Es gibt die gem https://github.com/petergoldstein/generator_spec, die einen anständigen Job tut, obwohl es nicht sehr aktiv gepflegt ist

+0

Ein Link zu einer Lösung ist willkommen, aber bitte sicher, dass Ihre Antwort ist, ohne es nützlich: [add Kontext rund um den Link ] (// meta.stackexchange.com/a/8259), damit Ihre Mitbenutzer eine Vorstellung davon haben, was es ist und warum es da ist. Zitieren Sie dann den relevantesten Teil der Seite, auf die Sie verlinken, falls die Zielseite dies ist nicht verfügbar. [Antworten, die etwas mehr als ein Link sind, können gelöscht werden.] (// stackoverflow.com/help/deleted-answers) –

+1

Danke für die Kopie einfügen Jungs, sehr geschätzt, aber die Antwort ist ziemlich klar und ist gut wie es ist . Es gibt eine Bibliothek, die das macht, schau sie dir an, ich werde nicht von der Readme-Datei kopieren. Wenn die Bibliothek jemals entfernt wird, wird es in dieser Antwort sowieso keine Hilfe geben. Ich frage mich, warum jemand eine sehr hilfreiche Antwort ablehnen könnte, aber hey, Ihr Anruf. – dgmora