ماذا يعني عندما يقول BusterJS أن TestHelpers في Node سيكون مطلوبًا؟

StackOverflow https://stackoverflow.com//questions/12682125

  •  12-12-2019
  •  | 
  •  

سؤال

من الوثائق (التأكيد على الألغام)

ملفات المكتبة لتحميلها في علامات البرنامج النصي في المتصفح. يجب عادةً استخدام هذا الإعداد لتشغيل العقدة.إذا كان الأمر كذلك، سوف تكون الملفات require'd. القيمة عبارة عن مجموعة من أسماء الملفات و/أو أنماط الكرة الأرضية.يتم تحميل الملفات بالترتيب المقدم.وقد تتضمن نسخًا مكررة، على سبيل المثال.["test/lib/core.js"، "test/lib/*/.js "] ، سيتم تحميل الملفات مرة واحدة فقط.يتم تحميل TestHelpers بعد المكتبات والمصادر ، ولكن قبل الاختبارات.

ماذا يعنى هذا بالظبط؟عندما يحصلون require'd, ، ما الذي يتم تضمينه فيه؟تحت أي اسم متغير؟لدي بعض الأساليب العالمية (testSetUp و testTearDown) التي أحب إعادة استخدامها بين الاختبارات.وفقًا لهذا، لا يمكنني استخدام هذه الأساليب إلا بين الاختبارات عندما أقوم بالاختبار في المتصفح، وليس عندما أقوم بالاختبار في Node.

إليك ملف التكوين الخاص بي:

فار التكوين = Module.exports;

config['Browser Tests'] = {
    rootPath: '../',
    environment: 'browser',
    sources: [
        'src/*.js'
    ],
    deps: [
        'submodules/d3/d3.v2.min.js'
    ],
    testHelpers: [
        'test/helpers/*.js'
    ],
    tests: [
        'test/test_*.js'
    ]
};

config["Node tests"] = {
    rootPath: '../',
    environment: "node",
    tests: [
        'test/test_*.js'
    ]
};
هل كانت مفيدة؟

المحلول

ما تخبرك به الوثائق هو أن الملفات ستكون مطلوبة، ولكن سيتم فقدان صادراتها.لذا، ما لم يقوم مساعدوك بتعديل الكائنات العامة، فلن يكون هذا مفيدًا على العقدة.

ومع ذلك، أنت حر في وضع المساعدين المشتركين في ملف منفصل واطلب ذلك بنفسك.

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