નકલી સર્વર્સ વિકાસકર્તાઓ માટે તેમના કોડનું પરીક્ષણ કરવા માટે સમય-કાર્યક્ષમ અને અનુકૂળ વિકલ્પ તરીકે ઉભરી આવ્યા છે, જ્યારે તેમની પાસે વાસ્તવિક સર્વરની ઍક્સેસ નથી. આ સર્વર્સ આવશ્યકપણે વાસ્તવિક સર્વર્સના સિમ્યુલેશન્સ છે, જેનો ઉપયોગ વિકાસ અને પરીક્ષણમાં થાય છે અને વેબ ડેવલપમેન્ટ શસ્ત્રાગારમાં એક મહત્વપૂર્ણ સાધન તરીકે સેવા આપે છે.
ઉકેલ
ઉકેલ કોડિંગ અથવા પરીક્ષણ દરમિયાન સર્વર ઍક્સેસની અભાવની સમસ્યા એ નકલી સર્વર છે. આ ઉકેલને સમજવા માટે, વેબસાઈટ ડેવલપમેન્ટમાં સર્વરની ભૂમિકાને સમજવી મહત્વપૂર્ણ છે. સર્વર એ અનિવાર્યપણે એક એન્ટિટી છે જે ક્લાયંટ મશીનોની વિનંતીઓને યોગ્ય જવાબો સાથે પ્રતિસાદ આપે છે. દાખલા તરીકે, સામાન્ય દૃશ્યમાં, ક્લાયન્ટ ચોક્કસ વેબપેજ માટે વિનંતી મોકલી શકે છે, જે સર્વર પછી વિતરિત કરે છે.
જો કે, કોડના વિકાસ દરમિયાન, વિકાસકર્તાઓ પાસે હંમેશા જીવંત સર્વર્સની ઍક્સેસ હોઈ શકતી નથી. ભલે તે સંસાધનોની અછત અથવા કોડિંગ દરમિયાન લાઇવ સર્વરની અનુપલબ્ધતાને કારણે હોય, વિકાસકર્તાઓને તેમના કોડને ચકાસવા માટે એક માર્ગની જરૂર છે. તે ત્યારે છે જ્યારે નકલી સર્વર આવે છે - વાસ્તવિક સર્વર માટે "સિમ્યુલેટર" અથવા "સ્ટેન્ડ-ઇન" તરીકે કામ કરે છે.
કોડનું પગલું દ્વારા પગલું સમજૂતી
કેવી રીતે એ સમજાવવા માટે નકલી સર્વર JavaScript માં કામ કરે છે, ચાલો કેટલાક સરળ સ્યુડોકોડ પર જઈએ.
```JavaScript // First, we need to create an instance of a fake server var server = sinon.fakeServer.create(); // Then, let's stipulate how the server should respond server.respondWith("GET", "/some/endpoint", [200, {}, "Hey there!"]); // We then have the server respond automatically server.respond(); // Lastly, we restore the server to its previous state once we're done testing server.restore(); ```
ચાલો એક પગલું-દર-પગલાની પ્રક્રિયામાં કોડ શું કરે છે તે તોડીએ:
- પ્રથમ પગલું Sinon.JS નો ઉપયોગ કરીને નકલી સર્વરને પ્રારંભ કરે છે, જે જાવાસ્ક્રિપ્ટ માટે એક સ્વતંત્ર પરીક્ષણ જાસૂસી, સ્ટબ્સ અને મોક્સ છે.
- આગળ, અમે વ્યાખ્યાયિત કરીએ છીએ કે સર્વરે ચોક્કસ એન્ડપોઇન્ટ પર GET વિનંતીનો કેવી રીતે પ્રતિસાદ આપવો જોઈએ.
- અમે પછી સર્વરને વિનંતીઓનો જવાબ આપવાનું શરૂ કરવાનું કહીએ છીએ.
- છેલ્લે, એકવાર અમારું પરીક્ષણ થઈ જાય, અમે સર્વરને તેની મૂળ સ્થિતિમાં પાછું લાવવા માટે પુનઃસ્થાપિત કરીએ છીએ.
પુસ્તકાલયો અને કાર્યો
ઉપરોક્ત કોડ સ્નિપેટમાં, અમે ઉપયોગ કર્યો છે સિનોન.જે.એસ, જાવાસ્ક્રિપ્ટમાં ટેસ્ટ સ્પાઈસ, સ્ટબ્સ અને મોક્સ માટે લોકપ્રિય લાઈબ્રેરી. સિનોન વિકાસકર્તાઓને તેમના પરીક્ષણોમાં કાર્યો અને તેમની વર્તણૂકને નિયંત્રિત કરવાની મંજૂરી આપે છે. આ સંદર્ભમાં, અમે તેનો ઉપયોગ એકીકૃત રીતે નકલી સર્વર બનાવવા માટે કર્યો છે.
કાર્ય sinon.fakeServer.create() જ્યારે નકલી સર્વરનો દાખલો બનાવે છે server.respondWith() સર્વરે કોઈપણ ઇનકમિંગ વિનંતીઓને કેવી રીતે પ્રતિસાદ આપવો જોઈએ તે નિર્ધારિત કરવાની પદ્ધતિ છે. કાર્ય server.respond() આવનારી વિનંતીઓનો જવાબ આપવાનું શરૂ કરવા માટે સર્વરને ટ્રિગર કરે છે. છેલ્લે, server.restore() સર્વરને તેની મૂળ સ્થિતિમાં પુનઃસ્થાપિત કરવા માટે વપરાય છે.
નકલી સર્વરની સુંદરતા એ છે કે પ્રતિસાદો માટેના પરિમાણોને જરૂરિયાત મુજબ ટ્વિક કરી શકાય છે, જે વિકાસકર્તાઓને વિવિધ સર્વર પ્રતિસાદો સામે તેમના કોડનું પરીક્ષણ કરવાની મંજૂરી આપે છે. JavaScript અને Sinon.JS જેવી લાઇબ્રેરીઓની સુંદરતા એ છે કે તેઓ વિકાસકર્તાઓને આ પરીક્ષણ વાતાવરણ સરળતાથી અને અસરકારક રીતે બનાવવા માટે સક્ષમ બનાવે છે.