hinzufügen von index E-Mail-Spalte Schuldige für unit-tests fehlschlagen
Ich bin neu zu konzipieren und zu Schienen, und ich nur integrierte erarbeiten, mit meiner Beispiel-app. Was mir aufgefallen ist, nach dem erstellen eines Benutzer Modell, alle meine unit-tests versagten. Ich ging um zu versuchen, um dieser engen und festgestellt, dass auch die generierten behaupten "die Wahrheit" ein für user_test.rb
auch nicht:
ActiveRecord::RecordNotUnique: SQLite3::ConstraintException: \
column email is not unique: INSERT INTO "users" (...
Einmal habe ich auskommentiert, die add_index
...
# add_index :users, :email, :unique => true
... und wieder ran rake db:test:load
- und re-tests mit ruby -I test test/unit/user_test.rb
es geht.
Hat sonst noch jemand Erfahrungen damit?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie gerade erzeugt das Gerät-Modell, eine Halterung wurde auch generiert, mit mehr oder weniger Inhalt:
Diese Vorrichtung versucht, zwei Benutzer zu erstellen, mit dem gleichen (inexistent) E-Mail. Ersetzen Sie es durch:
Wird es, diesen Fehler zu beheben.
Den Ausfall müssten die passiert werden in der test-setup vor dem eigentlichen test. Sie sind wahrscheinlich versuchen, Benutzer mit identischen E-Mail-Adressen, die entweder über die Geräte oder Fabriken.
Wenn Sie Leuchten, stellen Sie sicher, dass jeder Benutzer eine andere email-Adresse. Wenn Sie Fabriken, verwenden Sie eine Sequenz zu generieren, die eine eindeutige E-Mail-Adressen für jeden Benutzer, der erstellt wird.