09 Testing + Debugging
Դսեղ, լուսանկարի հղումը, Հեղինակ՝ Ռոզի
If debugging is the process of removing bugs. Then programming must be the process of putting them in.
Edsger Dijkstra
📌 Նկարագիր
📺 Տեսանյութեր
- 📺 Տեսագրությունը (Pytest, debugging)
- 📺 2023 թվականից տեսագրություն unittest գրադարանը ներկայացնող
Testing
Եթե ուզում ենք կարողանալ մեեեծ պրոեկտների վրա աշխատել, կամ թեկուզ փոքր պրոեկտներում չկորենք կամ պանիկայի մատնվենք երբ նոր մարդիկ սկսեն կոդի վրա աշխատել, շատ կարևոր ա որ ունենանք ամուր ենթակառուցված որը չի թողի կոդում սխալները մուղամով իրանց չար գործը անեն։ Կոդ գրելիս պետք ա մտածենք թե ինչ մուտքերի դեպքում ինչ ելք պետք ա տա, երբ պետք ա էռոռ բարձացնի և այլն, և այլն։ Եթե էդ ամենինչը ֆիքսվի կարող ենք հարմար ստուգել արդյոք էդ մեր դրած պայմանները բավարավում են թե չէ։ Դասին սովորում ենք հենց դա կազմակերպել՝ PyTest գրադարանով (մի քանի րոպե էլ unittest-ին ենք անդրադառնում, 23 թվից ավելի մանրամասն վիդեո կա)։ Սովորում ենք ոնց՝
- Սարքել թեստեր
- Parametrize: Պարամետրացնել, միանգամից լիքը input-output զույգեր փորձարկելու համար
- Fixture: Ոնց նշել ինչ կոդ պետք ա աշխատացվի թեստի աշխատելուց առաջ ու հետո
- Mocking: Որոշ ֆունկցիաներ կանցելը փոխարեն ձևացնել որ իրենց ենք օգտագործում որ երկար չսպասենք կամ էլ ուրիշ կոդի սխալի պատճառով մեր թեստը ձախողի
- Coverage: Ստուգել թե կոդի որ տոկոսն ա մեր աչքից պլստացել ու առանց թեստի մնացել
- CLI Argument-ներով ոնց ընդգծել կոնկրետ ինչ թեստեր/ոնց աշխատացվեն
- Ոնց VS Code-ով աշխատացնել թեստերը
- Ինչ տեսակներ կան testing-ի (end-to-end, integration, unit test)
Debugging
Վերջում էլ մի քանի րոպեով անդրադառնում ենք VS Code-ի debugger-ից օգվելուց, ու ընդհանուր debugging-ի տեսակներին (ռեզինե բադ, ․․․)։ print-եր շարելը լավ բան ա իհարկե, բայց breakpoint-երին ծանոթանալը կարա հետագայում շատ ժամանակ խնայի։
📚 Նյութը
Testing
Pytest
uv pip install pytest
Դասի կոդերը
Նյութեր
Unittest
📺 2023 թվականից վիդեո
Նյութեր
Debugging
🎲 27 (09)
- ▶️Historically
- 🔗Random link
- 🇦🇲🎶Ladaniva
- 🌐🎶Sammy Copley
- 🤌Կարգին