[RUBY] Hinweise zum Generieren von Dummy-Daten für Kennwörter im Unit-Testcode des Rails-Modells

Hintergrund der Artikelveröffentlichung

Faker wurde verwendet, um Dummy-Daten </ font> im Modelleinheitentest zu erstellen. Faker generiert zufällig Namen, E-Mails usw. Ich habe jedoch festgestellt, dass beim Generieren von Kennwortdaten </ font> Vorsicht geboten ist (siehe unten). Daher werde ich einen Artikel als Memorandum mit Notizen und Abhilfemaßnahmen </ font> veröffentlichen.

** Ergänzung ** Faker ist einer der Edelsteine von Ruby on Rails. Werte können zufällig unter Verwendung von Fälschern erzeugt werden. Weitere Informationen finden Sie unter dem folgenden Link.

Faker Official Github

Vorsichtsmaßnahmen für die Passwortgenerierung mit Faker

Dummy-Daten für die Kennwortspalte wurden anhand der folgenden Beschreibung generiert.

user.rb


FactoryBot.define do
  factory :user do
    nickname                { Faker::Name.name }
    email                   { Faker::Internet.free_email }
    password                { Faker::Internet.password(min_length: 8) }
    password_confirmation   { password }
  end
end

Das zu diesem Zeitpunkt generierte Kennwort ist normalerweise eine Kombination aus Zahlen und Zeichenfolgen, aber wird selten nur Zeichenfolgen oder Zahlen generiert </ font>. Dies bedeutet, dass wenn die Kennwortüberprüfung eine Kombination aus Zahlen und Zeichenfolgen </ font> ist, nicht als Dummy-Daten </ font> geeignet ist. ..

Terminal


[8] pry(#<RSpec::ExampleGroups::User::Create>)> @user = FactoryBot.build(:user)
=> #<User id: nil, email: "[email protected]", nickname: "Eugenie Dach", created_at: nil, updated_at: nil>
[9] pry(#<RSpec::ExampleGroups::User::Create>)> @user.password
=> "1HyWz2Mr"
[10] pry(#<RSpec::ExampleGroups::User::Create>)> @user = FactoryBot.build(:user)
=> #<User id: nil, email: "[email protected]", nickname: "Kathi D'Amore", created_at: nil, updated_at: nil>
[11] pry(#<RSpec::ExampleGroups::User::Create>)> @user.password
=> "NdKrAcLw"

Problemumgehung

Wenn Sie eine Kombination aus Zahlen und Zeichenfolgen für Ihr Kennwort überprüft haben, erstellen Sie manuell Dummy-Daten für Ihr Kennwort </ font>.

user.rb


FactoryBot.define do
  factory :user do
    nickname                { Faker::Name.name }
    email                   { Faker::Internet.free_email }
    password                { 'test1234TEST' }
    password_confirmation   { password }
  end
end

das ist alles