सिनॉन के साथ, आप पूरे मॉड्यूल के चारों ओर एक नकली या स्टब डाल सकते हैं। उदाहरण के लिए, मान लें कि mysql
मॉड्यूल में एक फ़ंक्शन होता है query
:
var mock;
mock = sinon.mock(require('mysql'))
mock.expects('query').with(queryString, queryParams).yields(null, rows);
queryString
, queryParams
वे इनपुट हैं जिनकी आप अपेक्षा करते हैं। rows
वह आउटपुट है जिसकी आप अपेक्षा करते हैं।
जब परीक्षण के तहत आपकी कक्षा को अब mysql की आवश्यकता होती है और query
. पर कॉल करता है विधि, इसे सिनॉन द्वारा इंटरसेप्ट और सत्यापित किया जाएगा।
आपके परीक्षण अपेक्षा अनुभाग में आपके पास होना चाहिए:
mock.verify()
और अपने टियरडाउन में आपको MySQL को सामान्य कार्यक्षमता पर वापस लाना चाहिए:
mock.restore()