Factory-Girl-Sequenzen werden nicht erhöht

8

Ich versuche, FactoryGirl dazu zu bringen, einige Namen für mich zu generieren, aber die Reihenfolge scheint nicht zu steigen.

%Vor% %Vor%

Die Spezifikation ist

%Vor% %Vor% %Vor%

Warum generiert FactoryGirl keine Sequenz von Namen in meiner Spezifikation?

    
Dean Brundage 11.07.2012, 21:07
quelle

2 Antworten

12

Das funktioniert, aber es bedeutet, dass Sie den Namen nirgends in den Spezifikationen überschreiben können, da der after-build-Hook immer ausgeführt wird und einen beliebigen Namen überschreibt.

Der Grund, warum Ihr ursprüngliches Beispiel nicht funktioniert, ist, dass Sie die Sequenz aufrufen, wenn die Factory definiert ist, und nicht, wenn die Factory ausgeführt wird. Sie können den Attributdefinitionen einen Block bereitstellen, der bei jeder Factory-Ausführung aufgerufen wird. Auf diese Weise erhalten Sie die Möglichkeit, für jede Instanz einen Wert zu generieren, anstatt einen Wert für alle Instanzen zu generieren. Dies wird am häufigsten für Sequenzen und Zeiten verwendet.

Sie können Ihr ursprüngliches Beispiel mit diesem Ausschnitt reparieren:

%Vor%

Wenn alle Namen mit demselben Format generiert werden können, können Sie den Wert auch komplett weglassen, indem Sie Ihre Sequenz umbenennen:

%Vor%

Dies funktioniert jedoch nicht, wenn Sie unterschiedliche Namensformate für verschiedene Fabriken benötigen.

    
Joe Ferris 20.07.2012, 04:26
quelle
2

Und die Antwort ist:

%Vor%     
Dean Brundage 11.07.2012 22:38
quelle