ဆာဗာအတုများ developer များအတွက် အချိန်ကုန်သက်သာပြီး အဆင်ပြေသော ရွေးချယ်မှုတစ်ခုအဖြစ် ပေါ်ထွက်လာပြီး ၎င်းတို့၏ကုဒ်ကို စစ်မှန်သော ဆာဗာသို့ ဝင်ရောက်ခွင့်မရှိသည့်အခါ၊ ဤဆာဗာများသည် ဖွံ့ဖြိုးတိုးတက်မှုနှင့် စမ်းသပ်မှုတွင် အသုံးပြုသည့် စစ်မှန်သောဆာဗာများ၏ မရှိမဖြစ်လိုအပ်သော အတုအယောင်များဖြစ်ပြီး၊ ဝဘ်ဖွံ့ဖြိုးတိုးတက်မှုဆိုင်ရာ လက်နက်တိုက်တွင် အရေးကြီးသောကိရိယာတစ်ခုအဖြစ် ဆောင်ရွက်ပါသည်။
အဖြေ
အဖြေ ကုဒ်ရေးခြင်း သို့မဟုတ် စမ်းသပ်နေစဉ်အတွင်း ဆာဗာဝင်ရောက်ခွင့်မရှိခြင်းပြဿနာသည် ဆာဗာအတုဖြစ်သည်။ ဤဖြေရှင်းချက်ကို နားလည်ရန်၊ ဝဘ်ဆိုဒ်ဖွံ့ဖြိုးတိုးတက်မှုတွင် ဆာဗာ၏အခန်းကဏ္ဍကို ဆုပ်ကိုင်ထားရန် အရေးကြီးသည်။ ဆာဗာသည် သင့်လျော်သော တုံ့ပြန်မှုများဖြင့် client စက်များမှ တောင်းဆိုချက်များကို တုံ့ပြန်သည့် မရှိမဖြစ်လိုအပ်သော အရာတစ်ခုဖြစ်သည်။ ဥပမာအားဖြင့်၊ ပုံမှန်အခြေအနေတစ်ခုတွင်၊ client သည် server မှပေးပို့သည့် သီးခြားဝဘ်စာမျက်နှာတစ်ခုအတွက် တောင်းဆိုမှုတစ်ခုပေးပို့နိုင်သည်။
သို့သော်၊ ကုဒ်ကို ဖော်ဆောင်နေစဉ်တွင်၊ ဆော့ဖ်ဝဲရေးသားသူများသည် တိုက်ရိုက်ဆာဗာများသို့ အမြဲဝင်ရောက်ခွင့်မရှိပါ။ အရင်းအမြစ်များမရှိခြင်း သို့မဟုတ် ကုဒ်ရေးနေစဉ်အတွင်း တိုက်ရိုက်ဆာဗာတစ်ခု မရရှိနိုင်ခြင်းကြောင့်ဖြစ်စေ developer များသည် ၎င်းတို့၏ကုဒ်ကို စမ်းသပ်ရန် နည်းလမ်းတစ်ခု လိုအပ်ပါသည်။ ထိုအချိန်တွင် ဆာဗာအတုတစ်ခုဝင်လာသည် - စစ်မှန်သောဆာဗာအတွက် "simulator" သို့မဟုတ် "stand-in" အဖြစ် လုပ်ဆောင်သည်။
Code ၏ အဆင့်ဆင့် ရှင်းလင်းချက်
မည်ကဲ့သို့ ပုံဖေါ်ရန် ဆာဗာအတု JavaScript ဖြင့် လုပ်ဆောင်သည်၊ ရိုးရှင်းသော pseudocode အချို့ကို ဖြတ်သန်းကြည့်ကြပါစို့။
```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၊ သီးသန့်စမ်းသပ်သူလျှိုများ၊ ချလံများနှင့် JavaScript အတွက် လှောင်ပြောင်မှုများကို အသုံးပြု၍ ဆာဗာအတုကို စတင်သည်။
- ထို့နောက်၊ သီးသန့်နေရာတစ်ခုသို့ GET တောင်းဆိုချက်ကို ဆာဗာက မည်သို့တုံ့ပြန်သင့်သည်ကို ကျွန်ုပ်တို့ သတ်မှတ်ဖော်ပြပါသည်။
- ထို့နောက် တောင်းဆိုမှုများကို စတင်တုံ့ပြန်ရန် ဆာဗာအား ကျွန်ုပ်တို့ပြောခဲ့သည်။
- နောက်ဆုံးတွင်၊ ကျွန်ုပ်တို့၏စမ်းသပ်မှုပြီးသည်နှင့်၊ အရာအားလုံးကို ၎င်း၏မူလအခြေအနေသို့ ပြန်လည်ရောက်ရှိစေရန် ဆာဗာကို ပြန်လည်ရယူပါသည်။
စာကြည့်တိုက်များနှင့် လုပ်ဆောင်ချက်များ
အထက်ဖော်ပြပါ ကုဒ်အတိုအထွာတွင်၊ ကျွန်ုပ်တို့ အသုံးပြုခဲ့သည်။ Sinon.JSJavaScript တွင် စမ်းသပ်သူလျှိုများ၊ ဆောင်ပုဒ်များနှင့် လှောင်ပြောင်မှုများအတွက် နာမည်ကြီး စာကြည့်တိုက်။ Sinon သည် developer များအား ၎င်းတို့၏ စမ်းသပ်မှုများတွင် လုပ်ဆောင်ချက်များနှင့် ၎င်းတို့၏ အပြုအမူများကို ထိန်းချုပ်နိုင်စေပါသည်။ ဤအခြေအနေတွင်၊ ကျွန်ုပ်တို့သည် ဆာဗာအတုကို ချောမွေ့စွာ ဖန်တီးရန် ၎င်းကို အသုံးပြုထားသည်။
အဆိုပါ function ကို sinon.fakeServer.create() ဆာဗာအတုကို ဖန်တီးနေစဉ် server.respondWith() ဆာဗာသည် အဝင်တောင်းဆိုမှုများကို မည်သို့တုံ့ပြန်သင့်သည်ကို သတ်မှတ်သည့်နည်းလမ်းတစ်ခုဖြစ်သည်။ function ကို server.respond() အဝင်တောင်းဆိုမှုများကို စတင်တုံ့ပြန်ရန် ဆာဗာကို အစပျိုးသည်။ နောက်ဆုံးအနေနဲ့၊ server.restore() ဆာဗာကို ၎င်း၏ မူလအခြေအနေသို့ ပြန်လည်ရယူရန် အသုံးပြုသည်။
ဆာဗာအတုတစ်ခု၏ လှပမှုသည် တုံ့ပြန်မှုများအတွက် ကန့်သတ်ချက်များကို လိုအပ်သလို ပြင်ဆင်နိုင်ပြီး၊ developer များသည် ၎င်းတို့၏ ကုဒ်များကို ဆာဗာတုံ့ပြန်မှုအမျိုးမျိုးနှင့် စမ်းသပ်ရန် ခွင့်ပြုပေးခြင်းဖြစ်သည်။ Sinon.JS ကဲ့သို့သော JavaScript နှင့် စာကြည့်တိုက်များ၏ လှပမှုသည် ၎င်းတို့သည် ဤစမ်းသပ်မှုပတ်ဝန်းကျင်များကို လွယ်ကူထိရောက်စွာ ဖန်တီးရန် developer များအား ခွန်အားပေးခြင်းဖြစ်သည်။