এই প্রশ্নের সন্ধান করা হয়েছে এবং এটি স্ট্যাক ওভারফ্লোতে বা তার উত্তর খুঁজে পাওয়া যায় নি, তবে এটি অন্য কোথাও পেয়েছে, তাই আমি এটি এসওতে উপলব্ধ করার জন্য বলছি।
রেলস কাঠামোর একটি ফাংশন রয়েছে fixture_file_upload
( রেলস 2 রিয়েল 3 , রেল 5 ), যা নির্দিষ্ট করা ফাইলের জন্য আপনার ফিক্সচার ডিরেক্টরিটি অনুসন্ধান করবে এবং এটি কার্যকরী পরীক্ষায় নিয়ামকের জন্য একটি পরীক্ষা ফাইল হিসাবে উপলব্ধ করবে। এটি ব্যবহার করতে:
1) পরীক্ষার জন্য আপনার ফিক্সচার / ফাইলগুলি উপ ডিরেক্টরিতে পরীক্ষায় আপলোড করার জন্য আপনার ফাইলটি রাখুন।
2) আপনার ইউনিট পরীক্ষায় আপনি ফিক্সচার_ফায়াল_আপলোড ('পাথ', 'মাইম-টাইপ') কল করে আপনার পরীক্ষার ফাইলটি পেতে পারেন।
উদাহরণ:
bulk_json = fixture_file_upload('files/bulk_bookmark.json','application/json')
3) আপলোডের প্যারামিটার হিসাবে ফিজিক্স_ফায়াল_আপলোড দ্বারা প্রত্যাবর্তিত বস্তুটি পাস করার মাধ্যমে আপনি চান এমন নিয়ন্ত্রক ক্রিয়াকে আঘাত করার জন্য পোস্ট পদ্ধতিতে কল করুন।
উদাহরণ:
post :bookmark, :bulkfile => bulk_json
বা কারাগারে 5: post :bookmark, params: {bulkfile: bulk_json}
এটি আপনার ফিক্সচার ডিরেক্টরিতে ফাইলটির একটি টেম্পল ফাইলের অনুলিপি ব্যবহার করে সিমুলেটেড পোস্ট প্রক্রিয়াটির মধ্য দিয়ে চলবে এবং তারপরে আপনার ইউনিট পরীক্ষায় ফিরে আসবে যাতে আপনি পোস্টের ফলাফলগুলি পরীক্ষা করা শুরু করতে পারেন।