كيفية القيام بشكل صحيح إكومديف فبونيت ملف تحميل اختبار مع $_الملفات?

magento.stackexchange https://magento.stackexchange.com/questions/108024

  •  29-09-2020
  •  | 
  •  

سؤال

أريد اختبار وظيفة تحميل الملف في الوحدة النمطية الخاصة بي ، لكنني تمسكت بالحد من ملف إيسلوبلوددفيل و موفيوبلوددفيل على كلي.

محاولة محاكاة إجراءات تحميل ملفات المستخدم عن طريق صياغة مصفوفة ملفات مخصصة:

class Company_Module_Test_Helper_CompanyHelperTests extends EcomDev_PHPUnit_Test_Case {

       public function uploadProductImagesTest() {
            ...
            $this->assertTrue(file_exists($testFile));
            $this->assertTrue(is_readable($testFile));
            $_FILES = array(
                    ...
            );

            $this->mockSession('customer/session');
            $this->customerSession($fixtureCustomerId);
            ...

ولكن عندما أقوم بتصحيح الأخطاء ، أرى أن ملف النقل يتم تحميله في ملف تحميل متنوع - > ملف نقل() وظيفة فقط إرجاع خطأ.

لقد وجدت حلا لاستخدام مساحة الاسم المخصصة وتجاوز ملف موفيوبلودد_فيل و إيسيوبلودد_فيل وظيفة ولكن عندما حاولت إضافة مساحة اسم مخصصة في فئة الاختبار لن يتم تشغيل الاختبار:

namespace CustomTest;   
class Company_Module_Test_Helper_CompanyHelperTests extends \EcomDev_PHPUnit_Test_Case {
  ...
  }

بحاجة الى بعض النصائح في هذه الحالة, ربما كان من الممكن بطريقة أو بأخرى ?شكرا

هل كانت مفيدة؟

المحلول

لا تفعل عمليات الملف الفعلية في الاختبارات ، وهمية Varien_File_Uploader بدلا من ذلك.لتكون قادرة على القيام بذلك ، وأود أن خلق getUploader() الطريقة في المساعد.ثم وهمية هذا الأسلوب المساعد باستخدام ميزة استبدال إكومديف_فبونيت للسماح لها بإرجاع رافع سخر.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى magento.stackexchange
scroll top