मैं मोचा का उपयोग करके एपीआई परीक्षणों की एक श्रृंखला निष्पादित करने के लिए निम्न के जैसा कुछ उपयोग कर रहा हूं। यह बहुत अच्छा है, लेकिन इसे प्रत्येक परीक्षण के लिए एक अलग एपीआई कॉल करने की आवश्यकता है। मैं एक ही एपीआई कॉल का उपयोग करना चाहता हूं और उस प्रतिक्रिया के खिलाफ कई परीक्षण चला सकता हूं। मैं पढ़ रहा हूं कि आप इसे करने के लिए before
का उपयोग कर सकते हैं, लेकिन वेब के आसपास के किसी भी उदाहरण वास्तव में इसे एपीआई कॉल के साथ काम नहीं दिखाते हैं?नोड.जेएस + चाई/मोचा/चाहिए: एक ही प्रतिक्रिया के खिलाफ कई परीक्षण चलाएं
var chai = require('chai');
var request = require('request');
var async = require('async');
var assert = chai.assert,
expect = chai.expect,
should = chai.should();
describe('/', function() {
it('should return 200', function (done) {
request.get('http://localhost:8000', function (err, res, body) {
res.should.have.status(200);
done();
});
});
it('should say "Hello, world!"', function (done) {
request.get('http://localhost:8000', function (err, res, body) {
body.should.have.property('type', 'aType');
done();
});
});
});
ऐसा करने के बारे में सोचा, लेकिन जब मेरे पास 10 या उससे अधिक शरीर के दावे होते हैं, तो यह वास्तव में बदसूरत हो रहा है कि क्या हो रहा है इसका वर्णन करने की कोशिश कर रहा है। लागू विवरणों के साथ एक पंक्ति में परीक्षणों की एक अच्छी साफ सूची होने की उम्मीद थी। – brandonscript
विचित्र रूप से 'must.have.status' इस तरह से अच्छी तरह से खेलना प्रतीत नहीं होता है - यकीन नहीं क्यों। उम्मीद है कि मैं इसे समझता हूँ! – brandonscript
बस एक अपडेट: यदि आप केवल प्रतिक्रिया की जांच कर रहे हैं तो आपको परीक्षणों पर 'किए गए' की आवश्यकता नहीं है। आपके पहले उदाहरण में 'it()' खंडों के अंदर async कुछ भी नहीं चल रहा है। – deitch