Google groups post on deprecating loopback-testing पर एक प्रश्न है जो लूपबैक-परीक्षण के बिना परीक्षण कैसे प्राप्त किया जा सकता है इसका उचित उदाहरण प्रदान करने के बारे में पूछता है। उस थ्रेड के बजाय supertest का उपयोग करने के बारे में बात करता है।सुपरटेस्ट, मोचा और मॉडल के साथ लूपबैक परीक्षण
नीचे एक प्रयास है जिसे मैंने मोचा को गठबंधन करने के लिए बनाया है, मॉडल के साथ सुपरटेस्ट (from app.js)। जब मैं स्वयं फ़ाइल चलाता हूं तो परिणाम वास्तव में अच्छा काम करता है। लेकिन अगर मेरे पास एक और टेस्ट फ़ाइल थी (test-teacher.js कहें) तो पहली टेस्ट फ़ाइल (इसे test-student.js कहते हैं) अजीब तरीके से विफल होने लगती है जिसका मैं वर्णन नहीं कर सकता।
क्या मुझे कुछ याद आ रहा है या मॉडल का उपयोग नहीं किया जा सकता है जैसे कि मैं उन्हें नीचे उपयोग कर रहा हूं?
describe('/Student', function() {
var server = require('../server/server')
var loopback = require('loopback')
var supertest = require('supertest')
var request = require('supertest')(server)
var dataSource = server.dataSource('db', {adapter: 'memory'})
var Student = dataSource.define('Student', {
'id': Number,
'points': Number
});
beforeEach(function() {
Student.updateOrCreate({id: 1, points: 5000});
})
it('Post a new student', function (done) {
request.post('/api/Students').send({points: 5000}).expect(200, done)
})
})
आपको 'डेटासोर्स' चर कहां से मिल रहा है? किसी भी मामले में, एक ही परीक्षण में कई फाइलें सभी शेयर मेमोरी चलाती हैं, जिसका अर्थ है कि आप इन-मेमोरी मॉडल परिभाषाओं और डेटा को भी साझा करते हैं। मेरा अनुमान है कि आप कहीं भी अपने एलबी ऐप को शुरू करते हैं, हां? आपको इसे बंद करना सुनिश्चित करना होगा, लेकिन डेटा अभी भी जारी रह सकता है। यह मेरा अनुमान होगा। – jakerella
उत्कृष्ट पकड़। कट और पेस्ट त्रुटि। 'डेटा स्रोत 'घोषणा जोड़ा गया। एलबी ऐप शुरू करने के लिए डब्लूआरटी, मैं इसे स्पष्ट रूप से नहीं करता हूं। उपर्युक्त कोड 'मोचा परीक्षण/test-student.js' के साथ चलाया जा सकता है। और फिर मैं 'मोचा टेस्ट' के साथ सभी परीक्षण चला सकता हूं। सर्वर के साथ अनुरोध को परिभाषित करके, यह एलबी कहते हैं। – user465342
तो ... यह पता चला है कि दूसरी फ़ाइल में test-teacher.js मैंने 'छात्र' भी परिभाषित किया है। जब मैं टेस्ट-टीचर में 'छात्र' को टिप्पणी करता हूं तो ऊपर दिए गए परीक्षण काम करता है। फिर स्पष्ट रूप से test-teacher.js में परीक्षण विफल रहता है क्योंकि यह अब 'छात्र' के बारे में नहीं है। – user465342