2012-02-24 15 views
7

मैंने अभी mocha.js डाउनलोड किया है और यह सुनिश्चित करने के लिए कि यह ठीक से काम कर रहा है, expect.js के साथ कुछ बुनियादी परीक्षण चलाए हैं।node.js में प्रतिक्रियाओं का परीक्षण?

लेकिन एक विशिष्ट यूआरएल पर मेरे node एप्लिकेशन में प्रतिक्रियाओं के परीक्षण के बारे में क्या? मैं उदाहरण के लिए /users पर नेविगेट करने से मुझे क्या प्रतिक्रिया प्राप्त करता हूं?

एक्सप्रेसो, mocha.js के पूर्ववर्ती का उपयोग करके, मैं assert.response(server, req, res|fn[, msg|fn]) कर सकता था और प्रतिक्रिया का परीक्षण कर सकता था।

उत्तर

6

यह एक बात है जिसे मैं नोड.जेएस/जावास्क्रिप्ट के बारे में पसंद करता हूं, इस तरह की चीज करने के बाद आप इसे लटकते हैं।

संक्षेप में, आप अपना सर्वर कोड चलाते हैं और फिर वास्तव में इन HTTP अनुरोधों को बनाने के लिए Request या सुपरजेंट का उपयोग करते हैं। मैं स्वचालित रूप से Superagent पसंद करता हूं क्योंकि यह स्वचालित JSON एन्कोडिंग है, लेकिन सावधान रहें, दस्तावेज़ पुराने और गलत हैं, YMMV। अधिकांश लोग अनुरोध चुनते हैं।

सरल मोचा उदाहरण का उपयोग करते हुए अनुरोध:

describe('My Server', function(){ 
    describe('GET /users', function(){ 
     it("should respond with a list of users", function(done){ 
      request('http://mytesturl.com/users', function(err,resp,body){ 
       assert(!err); 
       myuserlist = JSON.parse(body); 
       assert(myuserlist.length, 12); 
       done(); 
      }); 
     }); 
    }); 
}); 

उम्मीद है कि है कि मदद करता है। यहां विस्तृत विस्तृत उदाहरणों के साथ इस शैली का उपयोग करके मेरे मोचा (कॉफीस्क्रिप्ट) परीक्षण का नमूना दिया गया है: https://github.com/jprichardson/logmeup-server/blob/develop/test/integration/app.test.coffee ओह या, यह भी सुपरएजेंट का उपयोग कर रहा है।

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