Neu: Das englische Ruby on Rails 4.0 Buch.

7.3. Fixtures

Mit Fixtures werden Beispieldaten für Tests generiert. Das Default-Format dafür ist YAML. Die Dateien dafür stehen im Verzeichnis test/fixtures/ und werden mit rails generate automatisch mit erstellt. Sie können aber natürlich auch eigene Dateien definieren. Alle Fixtures werden per Default bei jedem Test neu in die Test-Datenbank geladen.[28]

Statische Fixtures

Die einfachste Variante für Fixtures sind statische Daten. Das in Abschnitt 7.2, „Beispiel für einen User in einem Webshop“ benutzte Fixture für User sieht statisch wie folgt aus:
one:
  login_name: horst.meier
  last_name: Meier

two:
  login_name: emil.stein
  last_name: Stein
Man schreibt die Daten einfach im YAML-Format in die entsprechende Datei.

Fixtures mit ERB

Statische YAML-Fixtures sind manchmal zu unintelligent. In diesen Fällen kann man mit ERB arbeiten (siehe „Programmieren in einer erb-Datei“).
Wenn wir für die Geburtstage dynamisch den heutigen Tag vor 20 Jahren eintragen möchten, so können wir das einfach mit ERB realisieren:
one:
  login_name: horst.meier
  last_name: Meier
  birthday: <%= 20.years.ago.to_s(:db) %>

two:
  login_name: emil.stein
  last_name: Stein
  birthday: <%= 20.years.ago.to_s(:db) %>


[28] Beispiele für Alternativformate (z. B. CSV) dazu finden Sie unter http://api.rubyonrails.org/classes/ActiveRecord/Fixtures.html.

Autor

Stefan Wintermeyer