सहायकों प्लगइन, एक गुमनाम समारोह है जो अंदर scoped रहे हैं एक जावास्क्रिप्ट इकाई परीक्षण लेते हैं, और आप चर इसके अंदर घोषित उपयोग नहीं कर सकते।
यदि आप इसका परीक्षण करना चाहते हैं, तो कार्यों के सामने var
कीवर्ड ड्रॉप करें। इससे कार्यों को ग्लोबल के रूप में घोषित किया जाएगा (उन्हें विंडो ऑब्जेक्ट से जोड़ दिया जाएगा), जिससे उन्हें विंडो स्कोप से दिखाई देने की क्षमता मिल जाएगी (someHelperFunction
या window.someHelperFunction
पर कॉल करके)। इसलिए
, परीक्षण के लिए:
(function($) {
someHelperFunction = function(s, d) {
return s*d;
}
someOtherHelperFunction = function(s) {
return s*2;
}
// here goes the normal plugin code
})(jQuery);
के बाद परीक्षण खत्म हो गया है, var
कीवर्ड फिर से जोड़ें।
अद्यतन
मुझे लगता है कि एक बेहतर दृष्टिकोण एक वस्तु में समूह के लिए अपने परीक्षण योग्य कार्यों होगा - और एक API का निर्माण। फिर, इसी सिद्धांत पर, आपको लगता है कि एपीआई वैश्विक दायरे में है या नहीं दिखाई बना सकता है:
(function($, global) {
someHelperFunction = function(s, d) {
return s*d;
}
someOtherHelperFunction = function(s) {
return s*2;
}
var api = {
someHelperFunction: someHelperFunction,
someOtherHelperFunction: someOtherHelperFunction
};
// decide whether you want to expose your api or not
if(makeGlobal) {
global.api = api;
}
})(jQuery, this);
स्रोत
2011-03-30 19:48:07
चूंकि आप बाहर से विधियों तक नहीं पहुंच सकते हैं, यह संभव नहीं है। –