ဆော့ဖ်ဝဲဖွံ့ဖြိုးတိုးတက်မှုဖြစ်စဉ်တွင်စမ်းသပ်ခြင်းသည်ကုဒ်အရည်အသွေးနှင့်အရည်အသွေးဆိုင်ရာတိကျမှန်ကန်မှုကိုသေချာစေရန်အရေးကြီးသောအပိုင်းဖြစ်သည်။ အထူးသဖြင့်ယူနစ်စစ်ဆေးမှုကိုပြုလုပ်သောအခါ developer များသည်နည်းလမ်းသို့မဟုတ် function တစ်ခု၏မှန်ကန်မှုကိုစစ်ဆေးရန်လိုအပ်သည်။ ဤပြ problem နာကိုဖြေရှင်းရန် Mock နည်းပညာသည်အရာဝတ်ထုများ၏အပြုအမူကိုလှောင်ပြောင်ခြင်းအားဖြင့် developer များစစ်ဆေးခြင်းကိုပြုလုပ်နိုင်ရန်ကူညီနိုင်သည်။
Mock Technology သည်ပြင်ပမှီခိုသောအရာဝတ်ထုများ၏အပြုအမူကိုလှောင်ပြောင်ခြင်းဖြင့်ယူနစ်စစ်ဆေးခြင်းနည်းလမ်းဖြစ်သည်။ ပုံမှန်အားဖြင့် Mock Objects များသည်စမ်းသပ်ခြင်းတွင်သူတို့၏အပြုအမူကိုထိန်းချုပ်ရန်, စမ်းသပ်ခြင်းနှင့်ထိန်းချုပ်နိုင်ရန်အတွက်အမှန်တကယ်အရာဝတ်ထုများကိုအစားထိုးရန်အသုံးပြုသည်။ PHP တွင် Mock နည်းပညာကိုအသုံးပြုခြင်းသည်တိကျသောဒေတာများကိုပြန်ပို့ခြင်း, ချွင်းချက်များပစ်ချခြင်းစသဖြင့်ပြုလုပ်နိုင်သည့်အမျိုးမျိုးသောအခြေအနေအမျိုးမျိုးကိုတုပနိုင်သည်။
PHP Development တွင်အသုံးများသော Mock Framework သည် phpunit ဖြစ်သည်။ Phpunit သည် developer များကအလွယ်တကူလှောင်ပြောင်သည့်အပြုအမူများကိုအလွယ်တကူဖန်တီးရန်နှင့်မျှော်လင့်ထားသည့်အပြုအမူများကိုအလွယ်တကူဖန်တီးရန်ခွင့်ပြုသည့်ကြွယ်ဝသောလှောင်ပြောင်အင်္ဂါရပ်များကိုပေးသည်။ အောက်တွင်ယူနစ်စမ်းသပ်ခြင်းအတွက် Phpunit Framework တွင် Mock Theme ကိုမည်သို့အသုံးပြုရမည်ကိုသရုပ်ဖော်ရန်ရိုးရှင်းသောဥပမာကိုအသုံးပြုပါမည်။
ကျွန်ုပ်တို့တွင် Userrepository Class တွင်အသုံးပြုသော Userrepository Class အပေါ် မူတည်. ဒေတာဘေ့စ်နှင့်အပြန်အလှန်ဆက်သွယ်သည်ဆိုပါစို့။ Rearrepsitory Class ကိုမမှီခိုဘဲ GetuserBerbyID () ကိုအသုံးပြုလိုသောအသုံးပြုမှုနည်းလမ်းကိုကျွန်ုပ်တို့စစ်ဆေးလိုသည်။ ၎င်းကိုရရှိရန်အတွက် USEREPOSTART ၏အပြုအမူကိုတုပရန် Mock Teacher ကိုသုံးနိုင်သည်။
<?php // UserService.php class UserService { private $userRepository; public function __construct(UserRepository $userRepository) { $this-> UsheRepository = $ Userreposinal, } Public function getuserbyid ($ ID) { $:> Userrepository-> Finduserbyid ($ ID); } } // Userrepository.php Class Userrepository { အများပြည်သူ function ကိုရှာတွေ့သည်။ ($ ID) { // ဒေတာဗေ့စ်ကိုရှာဖွေပြီးအသုံးပြုသူအချက်အလက်များကိုပြန်ပို့ပါ} } >
အထက်ပါကုဒ်တွင် userservice class သည် data query function ကိုအကောင်အထည်ဖော်ရန် USEREPOSTART အတန်းပေါ်တွင်မှီခိုသည်။ အသုံးပြုသူ၏ getuserbyidid နည်းလမ်းကိုစမ်းသပ်ရန်ကျွန်ုပ်တို့သည်စာမေးပွဲတွင်ဒေတာဘေ့စ်ကိုမဝင်ရောက်လိုပါ။
ကျွန်ုပ်တို့သည် Phpunit ၏လှောင်ပြောင်မှုန်ကို အသုံးပြု. Uerrepository ကိုဖွင့်ထားသည့်အရာဝတ်ထုတစ်ခုကိုဖန်တီးရန်နှင့်မျှော်လင့်ထားသည့်ပြန်လည်တန်ဖိုးကိုသတ်မှတ်ရန်အသုံးပြုနိုင်သည်။ ဤတွင်ပြီးပြည့်စုံသောစမ်းသပ်မှုကုဒ်ဖြစ်သည်။
<?php // UserServiceTest.php class UserServiceTest extends PHPUnit_Framework_TestCase { public function testGetUserById() { // ဖန်တီးUserRepositoryခြင်း $userRepositoryMock = $this-> GetMockberilder (Userreporitory :: Class) -> Disableoriginal Constructor () -> GetMock (); // Mock Object $ Userrepositorymock-> Method ('Findusbyid') ၏မျှော်လင့်ထားသည့်တုံ့ပြန်မှုတန်ဖိုးကိုသတ်မှတ်ထားပါ။ -> Willeturn (id '= >> 1,' အမည် '=>' John ']) ။ // $ userservice ကိုစမ်းသပ်ရန် Mock Objects = / userservice အသစ် ($ Userreposincock); $ ရလဒ် = $ userservice-> getuserbyid (1); // ရလဒ်သည်ဒေါ်လာ -> asserearequals (['id' = >> 1, '' 1, 'NAME' => 'John'], $ ရလဒ်ကရရှိသည်။ } } >
ဤဥပမာတွင် Phpunit ၏ GetMockbuilder Method မှတစ်ဆင့် USEREPOSTRITY မှလှောင်ပြောင်သည့်အရာဝတ်ထုတစ်ခုကိုပြသသည်။ ထို့နောက်ကျွန်ုပ်တို့သည် uspulabled လုပ်ထားသော USEREPOSTICTARTART OFF ကိုကျွန်ုပ်တို့ရှာဖွေပြီး simuledated Userrepsitory Object တွင်ဖြတ်သန်းသွားပြီးနောက်ဆုံးတွင် Getuserbyid နည်းလမ်း၏ရလဒ်ရလဒ်သည်မျှော်လင့်ချက်များနှင့်ကိုက်ညီမှုရှိမရှိကိုအတည်ပြုသည်။
Mock Technology သည် PHP ယူနစ်စစ်ဆေးခြင်းတွင်အရေးပါသောအခန်းကဏ် plays မှအရေးပါသောအခန်းကဏ် plays မှပါ 0 င်သည်။ Phpunit Framework နှင့်အတူပြင်ပတွင်မှီခိုမှုများတုပရန် Mock Objects ကိုအသုံးပြုရန်အလွန်လွယ်ကူသည်။ developer များအနေဖြင့် Mock နည်းပညာကျွမ်းကျင်မှုသည်ယူနစ်စမ်းသပ်ခြင်းနှင့်အရည်အသွေးကိုတိုးတက်စေရန်အရေးကြီးသောစွမ်းရည်တစ်ခုဖြစ်သည်။
အထက်ဖော်ပြပါအချက်များသည် PHP Code စစ်ဆေးခြင်းတွင်ပြောင်ပြောင်တင်းတင်းနည်းပညာလျှောက်လွှာနှင့်ပတ်သက်သည့်နိဒါန်းနှင့်နမူနာကုဒ်ဖြစ်သည်။ PHP ယူနစ်စစ်ဆေးမှုတွင်သင်၏အလေ့အကျင့်အတွက်အထောက်အကူဖြစ်စေမည်ဟုမျှော်လင့်ပါသည်။