Faker a été utilisé pour créer des données factices </ font> dans le test d'unité de modèle. Faker génère au hasard des noms, des e-mails, etc. Cependant, j'ai trouvé que des précautions doivent être prises lors de la génération des données de mot de passe </ font> (voir ci-dessous). Par conséquent, publiez un article sous forme de mémorandum avec Notes et remèdes </ font>.
** Supplément ** Faker est l'un des joyaux Ruby on Rails. Les valeurs peuvent être générées aléatoirement en utilisant Faker. Veuillez consulter le lien ci-dessous pour plus de détails.
Les données factices de la colonne de mot de passe ont été générées par la description suivante.
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
Le mot de passe généré à ce moment est généralement une combinaison de nombres et de chaînes de caractères, mais rarement seulement des chaînes de caractères ou seuls des nombres sont générés </ font>. Cela signifie que si la validation du mot de passe est une combinaison de nombres et de chaînes </ font>, elle ne sera pas appropriée comme données factices </ font>. ..
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"
Si vous avez validé une combinaison de chiffres et de chaînes pour votre mot de passe, crée manuellement des données factices pour votre mot de passe </ 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
c'est tout
Recommended Posts