Ich habe gerade eine Reihe von Tests mit Fehlern wie diesem erhalten:
ActiveRecord::RecordInvalid:
Validierung fehlgeschlagen: Name ist bereits vergeben
und es sieht so aus, als wäre das das Problem:
fab!(:the_group) { Fabricate(:group) }
Das hat alles bis vor kurzem funktioniert. Ich habe das bei einem anderen Plugin gesehen, an dem ich gearbeitet habe, und ich glaube, ich habe es geschafft, mir selbst einen zufälligen Namen zu geben, aber diese haben, glaube ich, bis gestern funktioniert.
Hat sich etwas geändert oder habe ich versehentlich etwas Dummes gemacht?
EDIT: Mit Hilfe von Claude und dem Discourse Helper Bot habe ich versucht, das obige fab durch Folgendes zu ersetzen:
Fabricator(:the_group) do
name { sequence(:group_name) { |i| "Test Group #{i}" } }
end
konnte aber nicht ganz herausfinden, wie es geht.
Ich habe dann stattdessen Folgendes verwendet:
let(:the_group) { Fabricate(:group) }
anstelle des obigen !fab, und dies hat die Anzahl der Fehler von 12 auf 1 reduziert, aber es schlägt immer noch fehl mit:
1) Pfaffmanager::ServersController servers admin can get servers owned by a group
Failure/Error: let(:the_group) { Fabricate(:group) }
ActiveRecord::RecordInvalid:
Validierung fehlgeschlagen: Name ist bereits vergeben
Ich glaube nicht, dass sich seit dem letzten Commit gestern um 10:30 Uhr CDT etwas an diesen Tests geändert hat.
Ich bin zu einem früheren Commit zurückgekehrt und jetzt schlägt es fehl mit:
1) Pfaffmanager::ServersController servers includes groups that the user is in
Failure/Error: let(:the_group) { Fabricate(:group) }
ActiveRecord::RecordInvalid:
Validierung fehlgeschlagen: Name ist bereits vergeben
und ich habe es erneut ausgeführt, ohne Änderungen vorzunehmen, und jetzt schlägt es fehl bei:
1) Pfaffmanager::ServersController servers can update group id if group owner
Failure/Error: let(:the_group) { Fabricate(:group) }
ActiveRecord::RecordInvalid:
Validierung fehlgeschlagen: Name ist bereits vergeben
Es scheint also, dass es bei einem Test fehlschlägt, und das zufällig?