Blog

Python module ကိုဘယ်လိုစမ်းသပ်ရမလဲ။

May 23, 2025Tinggalkan pesanan

ဟေ့အဲဒီမှာ! Module ပေးသွင်းသူတစ် ဦး အနေဖြင့်ကျွန်ုပ်တို့ကမ်းလှမ်းသော Python module များ၏အရည်အသွေးနှင့်ယုံကြည်စိတ်ချရမှုကိုသေချာစေရန်မည်မျှသေချာသည်ကိုကျွန်ုပ်သိသည်။ စမ်းသပ်ခြင်းသည်ကျွန်ုပ်တို့၏ဖောက်သည်များမရောက်ရှိမီအလားအလာရှိသောအမှားအယွင်းများသို့မဟုတ်ချို့ယွင်းချက်များကိုဖမ်းမိသောလုံခြုံမှုကွန်ယက်နှင့်တူသည်။ ဒီတော့ဒီဘလော့ဂ်မှာ Python module ကိုစမ်းသပ်နေတဲ့ Ins နဲ့ Outs တွေနဲ့လမ်းလျှောက်မယ်။

အဘယ်ကြောင့်ကိစ္စရပ်များစမ်းသပ်ခြင်း

ပထမ ဦး စွာစမ်းသပ်ခြင်းသည်အဘယ်ကြောင့်ဤမျှအရေးကြီးရကြောင်းဆိုကြပါစို့။ သင် module များကိုထောက်ပံ့ပေးသောအခါသင်၏ဖောက်သည်များသည်၎င်းတို့၏စီမံကိန်းများတွင်အပြစ်အနာအဆာကင်းစွာအလုပ်လုပ်ရန်သူတို့ကိုအားကိုးနေကြသည်။ အမှားတစ်ခုတည်းသည်ခေါင်းကိုက်ခြင်းများကိုမှားယွင်းသောခေါင်းကိုက်ခြင်းကိုဖြစ်စေနိုင်သည်။ သင့်ရဲ့ modules ကိုစေ့စေ့စပ်စပ်စမ်းသပ်ခြင်းအားဖြင့်,

  • တည်ဆောက်မှုကိုတည်ဆောက်ရန်သုံးစွဲသူများသည်အရည်အသွေးမြင့်မားသောကုန်ပစ္စည်းများ - အခမဲ့ module များကိုထောက်ပံ့ပေးသည့်ကုန်ပစ္စည်းပေးသွင်းသူထံပြန်လည်ထူထောင်ရန်ပိုမိုများပြားလာသည်။
  • အချိန်နှင့်ငွေကိုချွေတာ:ဖွံ့ဖြိုးရေးလုပ်ငန်းစဉ်တွင်အစောပိုင်း bug များကိုဖမ်းယူခြင်းသည်အလွန်စျေးသက်သာပြီး module တစ်ခုချထားပြီးနောက်၎င်းတို့ကိုပြုပြင်ခြင်းထက်ပိုမိုမြန်ဆန်သည်။
  • ကုဒ်အရည်အသွေးတိုးတက်အောင်စမ်းသပ်ခြင်းကသင့်အားသန့်ရှင်းရေးလုပ်ခြင်း,

စမ်းသပ်အမျိုးအစားများ

Python module တွင်သင်လုပ်ဆောင်နိုင်သည့်စမ်းသပ်မှုများစွာရှိသည်။ အသုံးအများဆုံးအချို့ကိုကြည့်ရအောင်။

ယူနစ်စမ်းသပ်ခြင်း

ယူနစ်စစ်ဆေးမှုသည်တစ် ဦး ချင်းလုပ်ဆောင်ချက်များကိုစစ်ဆေးခြင်းနှင့်နည်းလမ်းများကိုသီးခြားစီခွဲခြမ်းစိတ်ဖြာခြင်းနှင့်ပတ်သက်သောအားလုံးအတွက်ဖြစ်သည်။ သင်၏ module တစ်ခုချင်းစီသည်မျှော်လင့်ထားသည့်အတိုင်းအလုပ်လုပ်သည်ကိုသေချာအောင်လုပ်လိုသည်။ Python တွင်မကျန်းမာပါသောModule ဆိုသည်မှာယူနစ်စစ်ဆေးမှုများကိုရေးသားရန်အတွက်ကိရိယာတခုဖြစ်သည်။ ရိုးရှင်းတဲ့ဥပမာတစ်ခုပါ။

Unittest Def add_numbers (A, B Class Testaddumbers (unittest.testcumbers): unittest.dd_numbers (Self): Def test_add_numbers (Self) - adit_numbers (2, 3) Self.Assertequal (ရလဒ်, 5) ___= '__main__': unittest.main ။

ဒီဥပမာမှာရိုးရိုးရှင်းရှင်းသုံးနေတယ်add_numbersfunction ကို။ အပေြာင်းassesseEqualFunction Call ၏ရလဒ်သည်မျှော်လင့်ထားသည့်တန်ဖိုးနှင့်ညီသည်ဆိုပါကနည်းလမ်းစစ်ဆေးသည်။

ပေါင်းစည်းမှုစမ်းသပ်ခြင်း

တစ် ဦး ချင်းစီယူနစ်များကိုသင်စစ်ဆေးပြီးသည်နှင့်သူတို့အတူတကွအလုပ်လုပ်ပုံကိုကြည့်ရှုရန်အချိန်တန်ပြီ။ ပေါင်းစည်းခြင်းစစ်ဆေးခြင်းသည်သင်၏ module ၏အစိတ်အပိုင်းများနှင့်အခြားပြင်ပအစိတ်အပိုင်းများနှင့်အပြန်အလှန်ဆက်သွယ်မှုများကိုအာရုံစိုက်သည်။ ဥပမာအားဖြင့်, သင်၏ module တစ်ခုသည်ဒေတာဘေ့စ်နှင့်အတူအပြန်အလှန်ဆက်သွယ်ပါကဒေတာပြန်လည်ရယူခြင်းနှင့်သိုလှောင်မှုစစ်ဆင်ရေးများမှန်ကန်စွာအလုပ်လုပ်သည်ကိုသင်စစ်ဆေးချင်သည်။

သင်ကဲ့သို့သောကိရိယာများကိုသုံးနိုင်သည်pytesteပေါင်းစည်းရေးစစ်ဆေးမှုများရေးရန်။pytesteလူကြိုက်များသောစမ်းသပ်ခြင်းမူဘောင်တစ်ခုဖြစ်ပြီး၎င်းသည်စာရေးရန်လွယ်ကူစေသည်။ ဤတွင်အခြေခံပေါင်းစည်းမှုစစ်ဆေးမှု setup ကိုဒီမှာ:

Impest Pytest Def Ret_Data_From_DB () - ဤသည်မှာဆန္ဒပြပွဲများပြန်လာရန်လှောင်ပြောင်ခြင်းလုပ်ငန်းဖြစ်သည်။ [1, 2, 3] def test_inata (i * 2): Data_DATATATE (2) ။

အလုပ်လုပ်တဲ့စမ်းသပ်ခြင်း

အလုပ်လုပ်တဲ့စမ်းသပ်ခြင်းသည်အသုံးပြုသူရှုထောင့်မှ module ကိုကြည့်သည်။ သင်လိုအပ်ချက်များနှင့်ကိုက်ညီစေရန် module ၏အလုံးစုံလုပ်ဆောင်နိုင်စွမ်းကိုသင်စမ်းသပ်နေသည်။ ဥပမာအားဖြင့်, သင်၏ module ကိုအစီရင်ခံစာထုတ်ပေးရန်လိုပါကအစီရင်ခံစာကိုမှန်ကန်သောအချက်အလက်များနှင့် format လုပ်ခြင်းနှင့်မှန်ကန်စွာထုတ်ပေးသည်။

သင်ကဲ့သို့သောကိရိယာများကိုသုံးနိုင်သည်ဆဲလ်လီနီယမ်အကယ်. သင်၏ module တစ်ခုမှာ web - အခြေခံ interface တစ်ခုရှိလျှင်သို့မဟုတ်စက်ရုပ် Frameworkပိုမိုရှုပ်ထွေးသောအလုပ်လုပ်တဲ့စမ်းသပ်ခြင်းအခြေအနေများအတွက်။

စမ်းသပ်ခြင်းပတ် 0 န်းကျင်ကိုတည်ဆောက်ခြင်း

သင်မစတင်မီသင့်တော်သောစမ်းသပ်ခြင်းပတ် 0 န်းကျင်ကိုတည်ဆောက်ရန်လိုအပ်သည်။ ၎င်းတွင်လိုအပ်သောစမ်းသပ်ခြင်းစာကြည့်တိုက်များကို install လုပ်ပြီးစမ်းသပ်ခြင်းအတွက်သီးခြားပတ်ဝန်းကျင်တစ်ခုဖန်တီးသည်။

Twin Plates For LWC Series

virtual ပတ်ဝန်းကျင်

Virtual envirations များကို virtual envice ကိုအသုံးပြုခြင်းသည်သင်၏ထုတ်လုပ်မှုပတ် 0 န်းကျင်မှသင်၏စမ်းသပ်ခြင်းပတ် 0 န်းကျင်ကိုသီးခြားခွဲထုတ်ရန်အကောင်းဆုံးနည်းလမ်းဖြစ်သည်။ သင်အသုံးပြုနိုင်သည်ရေှ့သောှ့(Python module တွင်တည်ဆောက်ခြင်း) သို့မဟုတ်Virtualenvvirtual ပတ်ဝန်းကျင်ကိုဖန်တီးရန်။ ဒီမှာ သုံး. virtual environment တစ်ခုဖန်တီးရန်လိုအပ်သည်ရေှ့သောှ့ဖြေ -

Python -m venv test_env source test_env / bin / activate # Windows တွင် `test_env \ scripts \ t

သင်၏ virtual envirthermating ကိုဖွင့်သည်နှင့်တပြိုင်နက်သင်သည်စာမေးပွဲစာကြည့်တိုက်များကို install လုပ်နိုင်သည်။ ဥပမာအားဖြင့် install လုပ်ရန်pytesteဖြေ -

Pip install လုပ်ပါ

ပြောင်လှောင်

တစ်ခါတစ်ရံသင်၏ module သည် apis (သို့) ဒေတာဘေ့စ်ကဲ့သို့ပြင်ပ 0 န်ဆောင်မှုများပေါ်တွင်မူတည်သည်။ ဤဖြစ်ရပ်များတွင်သင်သည်စမ်းသပ်မှုများအတွင်းအမှန်တကယ်ပြင်ပ 0 န်ဆောင်မှုများကိုမှီခိုအားထားလိုသည်။ ဤသည်ကဲ့ရဲ့ခြင်းအတွက်လာဘယ်မှာ။

Python တွင်unittest.mockစာကြည့်တိုက်သည်မထီမဲ့မြင်ပြုခြင်းအတွက်အစွမ်းထက်သောကိရိယာတစ်ခုဖြစ်သည်။ ဤတွင်၎င်းကိုမည်သို့အသုံးပြုရမည်ကိုဥပမာတစ်ခုဖြစ်သည်။

unittest.mock Import မှ Import AgicMock Defi () - ဤလုပ်ဆောင်ချက်သည်ပုံမှန်အားဖြင့် API Call Pass Def Passion (2): i * just_data_From_api function = magicmock = [1, 2, 3] ရလဒ် = process_api_data () ပုံနှိပ်ခြင်း (ရလဒ်)

အပြေးနှင့်အလိုအလျောက်စစ်ဆေးမှုများ

သင်၏စမ်းသပ်မှုများကိုရေးပြီးသည်နှင့်တပြိုင်နက်၎င်းတို့ကို run ရန်အချိန်ရောက်လာပြီ။ သင်၏စစ်ဆေးမှုကိုကိုယ်တိုင်ကိုင်တွယ်နိုင်သည်, သို့သော်ပိုကြီးသည့်စီမံကိန်းများအတွက်စမ်းသပ်မှုလုပ်ငန်းစဉ်ကိုအလိုအလျောက်အလိုအလျောက်အလိုအလျောက်ပြုလုပ်ရန်ပိုကောင်းသည်။

ကိုယ်တိုင်စမ်းသပ်မှု

သင်အသုံးပြုနေလျှင်မကျန်းမာပါသောModule, သင်သည်သင်၏စစ်ဆေးမှုများကိုစမ်းသပ်ခြင်းဖြင့်သင်၏စမ်းသပ်မှုများကိုဖွင့်နိုင်သည်။

Python test_file.py

သင်အသုံးပြုနေလျှင်pytesteသင်၏စီမံကိန်းအတွင်းရှိစာမေးပွဲများအားလုံးကိုသင်ပြေးနိုင်သည့်စမ်းသပ်မှုများအားလုံးကိုဖွင့်နိုင်သည်pytesteသင်၏စီမံကိန်းလမ်းညွှန်တွင် command:

pyteste

စမ်းသပ်မော်တော်ယာဉ်

သင်ကဲ့သို့သောကိရိယာများကိုသုံးနိုင်သည်jennkinsသို့မဟုတ်CI / CD / CDသင်၏စမ်းသပ်ခြင်းလုပ်ငန်းစဉ်ကိုအလိုအလျောက်ပြုလုပ်ရန်။ ဤကိရိယာများကိုကုဒ်ပြောင်းလဲမှုအသစ်တစ်ခုတွင်သင်၏စစ်ဆေးမှုများကိုဖွင့်ရန်ပြင်ဆင်နိုင်သည်။ ဥပမာတစ်ခုမှာCI / CD / CDPipeline, သင်သည်အောက်ပါပြင်ဆင်မှုကိုသင်ထည့်ရန်ထည့်နိုင်သည်pytesteစမ်းသပ်မှု

Image: Python: 3.9 စမ်းသပ်မှု - SCRESS: SCRESS - PYTHON -M venv test_env - source test_env / bin / activate - Pip install လုပ် Pytest - Pipest

LWC စီးရီးများအတွက်အမွှာပြား

ကျွန်တော်တို့ရဲ့ထုတ်ကုန်တွေမှာအရည်အသွေးကိုသေချာအောင်လုပ်တဲ့ခေါင်းစဉ်မှာရှိနေပေမယ့်ငါပြောချင်ပါတယ်LWC စီးရီးများအတွက်အမွှာပြား။ ကျွန်ုပ်တို့၏ Python module များကိုသူတို့ထိပ်တန်းသေချာစေရန်သေချာအောင်လုပ်ခြင်းကဲ့သို့ပင် - ထစ်သည်အရည်အသွေးမြင့်မားသောစံနှုန်းများနှင့်ကိုက်ညီရန်ဒီဇိုင်းရေးဆွဲခြင်းနှင့်စမ်းသပ်ခြင်းတို့ကိုပြုလုပ်သည်။ သူတို့ကထိရောက်သောအပူလွှဲပြောင်းခြင်းနှင့်ယုံကြည်စိတ်ချရသောအပူပြောင်းရွှေ့မှုသေချာစေရန်၎င်းတို့သည်အရေးကြီးသောအခန်းကဏ် play မှပါ 0 င်သည်။

ကောက်ချက်

Python module တစ်ခုကိုစမ်းသပ်ခြင်းသည်ယူနစ်စစ်ဆေးခြင်း, ပေါင်းစည်းခြင်းစစ်ဆေးခြင်း, အလုပ်လုပ်ခြင်း, ဤအဆင့်များကိုလိုက်နာခြင်းနှင့်သင်၏စမ်းသပ်မှုများကိုအလိုအလျောက်လုပ်ဆောင်ခြင်းအားဖြင့်သင်ပေးပို့သော module များသည်အရည်အသွေးအမြင့်ဆုံးဖြစ်သည်။

အကယ်. သင်သည်ကျွန်ုပ်တို့၏ Python module များကို 0 ယ်ယူရန်သို့မဟုတ်ကျွန်ုပ်တို့၏စမ်းသပ်မှုဖြစ်စဉ်များနှင့် ပတ်သက်. မေးခွန်းများရှိပါကသင်စိတ်ဝင်စားပါကအခမဲ့ရောက်ရှိရန်အခမဲ့ဖြစ်သည်။ ငါတို့သည်သင်စကားပြောရန်နှင့်သင်၏လိုအပ်ချက်များကိုဆွေးနွေးရန်အမြဲပျော်ရွှင်ပါသည်။ ကြီးစွာသောစီမံကိန်းများတည်ဆောက်ရန်အတူတကွလုပ်ဆောင်ကြပါစို့။

ကိုးကားခြင်း

  • Python တရားဝင်စာရွက်စာတမ်းများအပေါ်မကျန်းမာပါသော
  • pytesteတရားဝင်စာရွက်စာတမ်းများ
  • ဆဲလ်လီနီယမ်တရားဝင်စာရွက်စာတမ်းများ
  • စက်ရုပ် Frameworkတရားဝင်စာရွက်စာတမ်းများ
  • unittest.mockတရားဝင်စာရွက်စာတမ်းများ
  • jennkinsတရားဝင်စာရွက်စာတမ်းများ
  • CI / CD / CDတရားဝင်စာရွက်စာတမ်းများ
Hantar pertanyaan