يمكنكم استخدام FactoryBot مع نماذج لا تعتمد على ActiveRecord
يمكنكم استخدام الدالة initialize_with في FactoryBot لتهيئة الكائن بالطريقة التي تريدونها، مما يتيح لكم إنشاء factories لأي من كائناتكم كما تشاؤون
FactoryBot.define do
factory :citizen_id_image, class: CitizenIdImagePresenter do
image_url { 'https://placehold.it/200x200' }
initialize_with { new(image_url: image_url) }
end
end
build(:citizen_id_image)
#=>
مقدمة
FactoryBot أداة اختبار شائعة لتطبيقات Ruby on Rails تتيح للمطوّرين تعريف بيانات الاختبار (fixtures) وإنشاءها عند الحاجة. وتوفّر طريقة مرنة وفعّالة لإنشاء بيانات الاختبار، مما يسهّل كتابة الاختبارات وصيانتها. نستعرض في هذا المقال كيفية استخدام FactoryBot بفعالية في اختبارات Rails.
إعداد FactoryBot
لإعداد FactoryBot في تطبيق Rails، عليكم إضافة الـ gem المسمّى factory_bot إلى ملف Gemfile وتشغيل الأمر bundle install. بعد ذلك يمكنكم تهيئة FactoryBot بإنشاء ملف factory_bot.rb في المجلد config/initializers. وفي هذا الملف يمكنكم تحديد إعدادات factory_bot، مثل مسارات الـ factories والاستراتيجية الافتراضية.
تعريف النماذج والـ Factories
الـ factory في FactoryBot مخطط لإنشاء كائن. ويمكنكم تعريف factory لنموذج ما بإنشاء ملف في المجلد factories. على سبيل المثال، إذا كان لديكم نموذج User، يمكنكم إنشاء ملف user.rb في المجلد factories لتعريف factory المستخدم. وفي هذا الملف تحددون الخصائص والارتباطات الخاصة بـ factory المستخدم.
خيارات الـ Factory وخصائصها
يوفّر FactoryBot عدة خيارات وخصائص يمكنكم استخدامها لتخصيص الـ factories. على سبيل المثال، يمكنكم استخدام الخاصية class لتحديد صنف الكائن الذي يتم إنشاؤه. ويمكنكم أيضًا استخدام الخيار attributes لتحديد خصائص الـ factory. كما يمكنكم استخدام الخيار association لتحديد الارتباطات بين الـ factories.
الخلاصة
ختامًا، FactoryBot أداة قوية لإنشاء بيانات الاختبار في تطبيقات Rails. وبتعريف factories لنماذجكم، يمكنكم إنشاء بيانات الاختبار بسرعة وكفاءة. وبفضل خيارات الإعداد المرنة والخصائص القابلة للتخصيص، يسهّل FactoryBot كتابة الاختبارات وصيانتها. وباتباع أفضل الممارسات الواردة في هذا المقال، تحققون أقصى استفادة من FactoryBot وترفعون جودة اختباراتكم.