2016-09-27 4 views
5

के लिए यूनिट परीक्षण मेरे पास एक मॉडल Student के साथ लूपबैक एपीआई है।लूपबैक मॉडल

REST API को कॉल किए बिना Student मॉडल के नोड एपीआई विधियों के लिए यूनिट परीक्षण कैसे लिखूं? मुझे नोड एपीआई के माध्यम से मॉडल का परीक्षण करने के लिए कोई दस्तावेज या उदाहरण नहीं मिल रहा है।

क्या कोई मदद कर सकता है? count विधि

// With this test file located in ./test/thistest.js 

var app = require('../server'); 

describe('Student node api', function(){ 
    it('counts initially 0 student', function(cb){ 
     app.models.Student.count({}, function(err, count){ 
     assert.deepEqual(count, 0); 
     }); 
    }); 
}); 

इस तरह आप नोड एपीआई परीक्षण कर सकते हैं परीक्षण, REST API बुला बिना साथ

+1

संदर्भ के लिए: स्ट्रॉन्ग्लोप डॉक्स वास्तव में परीक्षण को स्पष्ट रूप से समझाते नहीं हैं और "strongloopjs test" के लिए googling केवल इस तरह के लेख उत्पन्न करता है: https://strongloop.com/strongblog/how -to-test-an-api-with-node-js/जो मॉडलों के यूनिट परीक्षण करने के बजाए, HTTP एपीआई का उपयोग करके ऐप का परीक्षण करता है। –

उत्तर

4

उदाहरण।

हालांकि, अंतर्निहित विधियों के लिए, इस सामग्री को पहले से ही मजबूतlo द्वारा परीक्षण किया गया है, इसलिए नोड एपीआई का परीक्षण करने के लिए बहुत बेकार होना चाहिए। लेकिन दूरस्थ (= कस्टम) विधियों के लिए यह अभी भी दिलचस्प हो सकता है।

संपादित करें: कारण है कि काम करने के इस तरह explicited नहीं है, क्योंकि अंत में, आप यह सुनिश्चित करने के लिए न केवल उस नोड एपीआई काम करता है के रूप में उम्मीद, लेकिन यह भी है कि एसीएल ठीक से विन्यस्त कर रहे हैं अपनी पूरी REST API का परीक्षण करने के लिए की आवश्यकता होगी , रिटर्न कोड इत्यादि। तो अंत में, आप एक ही चीज़ के लिए 2 अलग-अलग परीक्षण लिखना समाप्त कर देते हैं, जो समय की बर्बादी है। (जब तक आप परीक्षण लिखना पसंद नहीं करते :)

+0

आपके उत्तर के लिए धन्यवाद, लेकिन ऊपर दिए गए कोड के साथ एक मुद्दा है। यूनिट परीक्षण के लिए, मैं अपने वास्तविक डीबी का उपयोग नहीं करना चाहता। मैं मेमोरी डीबी में उपयोग करना चाहता हूँ। तो उस मामले में मेमोरी डेटा में कैसे बनाया जाए? और उपयोगकर्ताओं को जोड़ने के लिए, इन-मेमोरी डीबी में टोकन का उपयोग कैसे करें ?? इसके अलावा मैं छात्र तालिका में रिकॉर्ड्स डालने के लिए प्रत्येक हुक से पहले उपयोग करना चाहता हूं। ताकि मैं कुछ गिनती मूल्य प्राप्त कर सकूं। आशा है कि यह मेरी समस्या के बारे में और बताएगा। –

+0

इसे प्रश्न से अनुमान नहीं लगा सका, लेकिन इन-मेमोरी डेटाबेस बनाना बहुत आसान है (देखें [यहां] (https://docs.strongloop.com/display/public/LB/Memory+connector))। और यह आपके लिए पारदर्शी है, भले ही आप स्मृति या एक वास्तविक डीबी का उपयोग करें। – Overdrivr

+0

और उपयोगकर्ताओं को जोड़ने के लिए, टोकन एक्सेस आदि। आप केवल उस नोड एपीआई का उपयोग करते हैं जो मैंने दिए गए लिंक में दस्तावेज किया है। यहां यह फिर से है: http://apidocs.strongloop.com/ – Overdrivr

संबंधित मुद्दे