ich normalerweise diesen Schritt verwenden, um Datensätze mit factory_girl einzurichten:Was ist die beste Vorgehensweise zum Einrichten von Assoziationen mit factory_girl in Gurken?
Given /^the following (.+) records?:$/ do |factory, table|
table.hashes.each do |hash|
Factory(factory, hash)
end
end
Und hier ist meine Work-around, wenn Verbände einrichten:
Given the following group record:
| id | name |
| 1 | foo |
And the following item records:
| name | group_id |
| bar | 1 |
| baz | 1 |
# ...
Ich weiß, das ist schlecht. Die Verwendung von IDs macht das Ganze spröde und kryptisch aus der Sicht der Domain-Person.
Also meine Frage ist - Was wäre die beste Praxis, um eine Verbindung mit factory_girl und einem Tabellenargument wie dem oben genannten einzurichten?
Der Trick hier ist, dass group.items ein Array zurückgeben sollte. Es hat eine Weile gedauert, bis ich das herausgefunden hatte. – jonnii
Ja, das ist nicht leicht zu verstehen (aber zu sehen, wie es funktioniert, ist es logisch) –
Got you. Aber gibt es eine Möglichkeit, einen Gurkenschritt mit einem Tabellenparameter (wie dem in meinem Post) um solch eine Fabrik zu wickeln? Vielleicht sollte ich nur einen pragmatischen Ansatz nehmen und im Schritt ("Gegeben habe ich zwei Elemente, foo und bar, die zu einer Gruppe namens foo gehören") ausführlich und spezifisch sein, anstatt sich mit Tabellen zu beschäftigen, aber das klingt etwas Wie ein Anti-Muster für mich? –