Skip to main content

09 Testing + Debugging

image.png Դսեղ, լուսանկարի հղումը, Հեղինակ՝ Ռոզի

Open In Colab

If debugging is the process of removing bugs. Then programming must be the process of putting them in.

Edsger Dijkstra

📌 Նկարագիր

📚 Ամբողջական նյութը

📺 Տեսանյութեր

Testing

Եթե ուզում ենք կարողանալ մեեեծ պրոեկտների վրա աշխատել, կամ թեկուզ փոքր պրոեկտներում չկորենք կամ պանիկայի մատնվենք երբ նոր մարդիկ սկսեն կոդի վրա աշխատել, շատ կարևոր ա որ ունենանք ամուր ենթակառուցված որը չի թողի կոդում սխալները մուղամով իրանց չար գործը անեն։ Կոդ գրելիս պետք ա մտածենք թե ինչ մուտքերի դեպքում ինչ ելք պետք ա տա, երբ պետք ա էռոռ բարձացնի և այլն, և այլն։ Եթե էդ ամենինչը ֆիքսվի կարող ենք հարմար ստուգել արդյոք էդ մեր դրած պայմանները բավարավում են թե չէ։ Դասին սովորում ենք հենց դա կազմակերպել՝ PyTest գրադարանով (մի քանի րոպե էլ unittest-ին ենք անդրադառնում, 23 թվից ավելի մանրամասն վիդեո կա)։ Սովորում ենք ոնց՝

  1. Սարքել թեստեր
  2. Parametrize: Պարամետրացնել, միանգամից լիքը input-output զույգեր փորձարկելու համար
  3. Fixture: Ոնց նշել ինչ կոդ պետք ա աշխատացվի թեստի աշխատելուց առաջ ու հետո
  4. Mocking: Որոշ ֆունկցիաներ կանցելը փոխարեն ձևացնել որ իրենց ենք օգտագործում որ երկար չսպասենք կամ էլ ուրիշ կոդի սխալի պատճառով մեր թեստը ձախողի
  5. Coverage: Ստուգել թե կոդի որ տոկոսն ա մեր աչքից պլստացել ու առանց թեստի մնացել
  6. CLI Argument-ներով ոնց ընդգծել կոնկրետ ինչ թեստեր/ոնց աշխատացվեն
  7. Ոնց VS Code-ով աշխատացնել թեստերը
  8. Ինչ տեսակներ կան testing-ի (end-to-end, integration, unit test)

Debugging

Վերջում էլ մի քանի րոպեով անդրադառնում ենք VS Code-ի debugger-ից օգվելուց, ու ընդհանուր debugging-ի տեսակներին (ռեզինե բադ, ․․․)։ print-եր շարելը լավ բան ա իհարկե, բայց breakpoint-երին ծանոթանալը կարա հետագայում շատ ժամանակ խնայի։

📚 Նյութը

Testing

Pytest

uv pip install pytest

Դասի կոդերը

  1. Folder-ի հղումը
  2. calculator.py
  3. test_calculator.py
  4. elections.py
  5. test_elections.py

Նյութեր

Unittest

📺 2023 թվականից վիդեո

Նյութեր

Debugging

Լավ 7 րոպեանոց վիդեո

image.png

image.png

🎲 27 (09)

Flag Counter