मैं jwt
द्वारा संरक्षित एक आरईएसटी एपीआई के लिए एकीकरण परीक्षण लिख रहा हूं। एक एपीआई आपरेशन पोस्ट /user/token
है लौटने एक jwt
दिया एक username
और एक password
और इस टोकन तो जैसे आपरेशनों की एक सूची के लिए प्रयोग किया जाता है:सुपर टेस्ट, टेस्ट सुरक्षित आरईएसटी एपीआई
GET /user/:id
मार्ग कहाँ jwt({secret: secret.secretToken})
उपयोग कर रहा है, तो टोकन में शामिल किया गया है http शीर्षलेख Authorization
।
सुपर टेस्ट के साथ परीक्षण करते समय, मुझे घोंसला परीक्षण हो सकता है लेकिन मैं पहले टोकन प्राप्त करना चाहता हूं, फिर अन्य ऑपरेशन परीक्षण के लिए इस टोकन का उपयोग करें।
POST /user/token => 12345
GET /user/:id, `Authorization Bearer 12345`
GET /user/:foo, `Authorization Bearer 12345`
हर आपरेशन के परीक्षण के लिए एक नया टोकन बनाने से बचने के लिए कैसे (नीचे देखें), लेकिन केवल एक ही एक पोस्ट/उपयोगकर्ता/टोकन द्वारा उत्पन्न का उपयोग करें।
it('should get a valid token for user: user1', function(done) {
request(url)
.post('/user/token')
.send({ _id: user1._id, password: user1.password })
.expect(200) // created
.end(function(err, res) {
// test operation GET /user/:id
इस लक्ष्य को हासिल करने के लिए कैसे अगर हम उन्हें में बिखरे इकाई परीक्षण के साथ कई फ़ाइलों और फ़ोल्डरों है, टोकन प्रत्येक में हो रही दोहराए बिना फाइल? – nottinhill
@SirBenBenji मुझे लगता है कि आपको बस हुक को परिभाषित करने की आवश्यकता है ताकि आप जहां आवश्यक हो, इसकी आवश्यकता हो सके। http://stackoverflow.com/a/10561632 काम करेगा। Https://github.com/mochajs/mocha/wiki/Shared-Behaviours भी देखें – vesse