From 8599e8c647ad3527082e11232a58b913e0215218 Mon Sep 17 00:00:00 2001 From: emilkabals Date: Mon, 19 Jan 2026 00:39:56 +0300 Subject: [PATCH 1/2] =?UTF-8?q?=D0=98=D0=BD=D0=B8=D1=86=D0=B8=D0=B0=D0=BB?= =?UTF-8?q?=D0=B8=D0=B7=D0=B0=D1=86=D0=B8=D1=8F=20=D0=BF=D1=80=D0=BE=D0=B5?= =?UTF-8?q?=D0=BA=D1=82=D0=B0=20Diplom=5F1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Добавлены папки Tests и Praktikum - Созданы конфигурационные файлы (.gitignore, requirements.txt) - Настроено тестирование (pytest, coverage) - Добавлены базовые тестовые файлы - Установлены зависимости: pytest, pytest-cov, allure-pytest --- .coverage | Bin 0 -> 53248 bytes __init__.py => .gitignore | 0 Tests/__init__.py | 0 Tests/__pycache__/__init__.cpython-313.pyc | Bin 0 -> 163 bytes .../test_burger.cpython-313-pytest-8.4.2.pyc | Bin 0 -> 9695 bytes .../test_burger.cpython-313-pytest-9.0.2.pyc | Bin 0 -> 9695 bytes Tests/test_burger.py | 74 ++++++++++++++++++ .../conftest.cpython-313-pytest-8.4.2.pyc | Bin 0 -> 1889 bytes .../conftest.cpython-313-pytest-9.0.2.pyc | Bin 0 -> 1889 bytes __pycache__/data.cpython-313.pyc | Bin 0 -> 401 bytes conftest.py | 37 +++++++++ data.py | 7 ++ praktikum/__init__.py | 0 .../__pycache__/__init__.cpython-313.pyc | Bin 0 -> 167 bytes praktikum/__pycache__/bun.cpython-313.pyc | Bin 0 -> 1092 bytes praktikum/__pycache__/burger.cpython-313.pyc | Bin 0 -> 3250 bytes .../__pycache__/ingredient.cpython-313.pyc | Bin 0 -> 1414 bytes bun.py => praktikum/bun.py | 0 burger.py => praktikum/burger.py | 0 database.py => praktikum/database.py | 0 ingredient.py => praktikum/ingredient.py | 0 .../ingredient_types.py | 0 praktikum.py => praktikum/praktikum.py | 0 requirements.txt | 0 24 files changed, 118 insertions(+) create mode 100644 .coverage rename __init__.py => .gitignore (100%) create mode 100644 Tests/__init__.py create mode 100644 Tests/__pycache__/__init__.cpython-313.pyc create mode 100644 Tests/__pycache__/test_burger.cpython-313-pytest-8.4.2.pyc create mode 100644 Tests/__pycache__/test_burger.cpython-313-pytest-9.0.2.pyc create mode 100644 Tests/test_burger.py create mode 100644 __pycache__/conftest.cpython-313-pytest-8.4.2.pyc create mode 100644 __pycache__/conftest.cpython-313-pytest-9.0.2.pyc create mode 100644 __pycache__/data.cpython-313.pyc create mode 100644 conftest.py create mode 100644 data.py create mode 100644 praktikum/__init__.py create mode 100644 praktikum/__pycache__/__init__.cpython-313.pyc create mode 100644 praktikum/__pycache__/bun.cpython-313.pyc create mode 100644 praktikum/__pycache__/burger.cpython-313.pyc create mode 100644 praktikum/__pycache__/ingredient.cpython-313.pyc rename bun.py => praktikum/bun.py (100%) rename burger.py => praktikum/burger.py (100%) rename database.py => praktikum/database.py (100%) rename ingredient.py => praktikum/ingredient.py (100%) rename ingredient_types.py => praktikum/ingredient_types.py (100%) rename praktikum.py => praktikum/praktikum.py (100%) create mode 100644 requirements.txt diff --git a/.coverage b/.coverage new file mode 100644 index 0000000000000000000000000000000000000000..c21fdfb1fdd7ea57df57853d2f2a924ea399857b GIT binary patch literal 53248 zcmeI)U2oe|7zc1WcH^dP>OrZZQcXQ*g05QIQB4RjE}+}WT9~vA1~*h>PIB6s#dc~t zTYG^}HpHX}?g1gb!ERv^e2DH23GHILfJuN55+I=g;(7d%m#&?v>|$#7w_3+<=kYl| zpO-jk{npu2b|}S?=Q~y?jwt&SRaIUULQ#|){pRU6oeWyg(-nGE+m^Rm%qi2?p30l= zC)4e%lvcwHwT>Dwf?URD_5o+m>>WF2teTR7HFIuFbX3h>g5kYt5lVt zZI`Rn3>T%U{%NX{0@wJ_d5L8QIx@)6=- zl6*q=a!LBqEz2Oz#X-9=(Km7B!#<-hG^AdYQJE~iOh5e{rJ)V2qAV;?pt9#zIQJ#r za?2|+m=spCgk_KNxfaHy^*!fs=!vTBM#XdkJG4Dl$TeB6hqAI|0Vf$Pod~bJG!*MR z7wCMPGC5b9PAl;iDU-vK#7mSp*GpMj3Hj8NILfnIcS=P5e%-0@#i11Oi9>I@l-s2Z zy`-=^zBXH2%T{?iE@w*4S2RvlckR`>Y+n3H(MmZP6~px=1s8&9z_b0?!b?M{LbXz^ z1*=thzg4vAp%<+e>Eah>Xg2WC6TL=ZY)rkn8dVhLDVFRoXfEVBDou0qHdTlBZ(nb? zm2_4TZbj9q@Rp(`!>L7lai})8x0%B!hUIfZ6JBy4<@Ax(HqI>NL6oXqsk5#{H71bM zK&UTB4_m6cWo{|~m!a%kl)kkrr<1*LxA3Sd5>=gy|af{%7iGO=K3c*`iO<>bNu=DKKtZ+r#pLgC&86WS-7G56SF5{eq z;tbETSKiG;S-v_F={wZv^RL#CW!}=t@*8q}>Y`Pp-lS&PJ~dhDgX0lE@PQSJ4z@~O zJ&fuvuSV6A$DUSx;{dJo)Six-hz_UbeZ~s{n}$^$wt}PSRx!R}1>6e-30y?K1h$s*Dk4mq!Vg&0PWBKBEl&5rX;cosMHM+EY(SqYxZY3G7co>eOQs2*w zlg|@(B9u^!Q=<&1iEfIS22J*IkCn!su8|2xb*xI<-1(xkMZB~k?+X`?MklOLhPERG z9};CIs#uq-K$Lw+J83MP7}p+D4ftvmXL!zc$-Vqmt}&(>g+qtbMm=eaaX(WGXi#^o zG~3B)rlXQ<+S#fvr>VoGcRTI%gzefmcr`u)cW&_&EX4}xQOSFqz6rj;SIv70{a}Is z1Rwwb2tWV=5P$##AOHafKw$3)Xlh0^`2Ig*-d4=tXod*_5P$##AOHafKmY;|fB*y_ z0D;{pFp$yqo9Ul;Ja4MnXd(F{fETAZat#3pKmY;|fB*y_ z009U<00IzzKq@ex?N`%J0Wy8sXfF8>fWQAY^8YI4H)hS89K1dF+2Bc9#RLHeKmY;| zfB*y_009U<00MhSVBXM`#_;i@i*EXuEb;EK(r;{@=*| zreF zpzBDjyX@xue|BDP40Ro_?f$>#b-hvOI#4TTR7m}}-pF+wD!%{MUeg=qL&Qk#|1&3v zr|XX*+V21H{J%ZbpivkIKmY;|fB*y_009U<00Izzz-9qW)s#Gc|F4?=DD;B~0uX=z z1Rwwb2tWV=5P$##AOL|qD4=Qi9Do0>o8K$u-{#Ne9a_Ky0SG_<0uX=z1Rwwb2tWV= z5P-n05$M%*HTR^ReI{pUw6stAczz&53r}ahX#DW?bw}+{^;~XH^GC(JXZ~US zN(-1E009U<00Izz00bZa0SG_<0ub1x0$IBAS9Lvl(X{9#lhNq|fav>wW#29>7P1Wi z2tWV=5P$##AOHafKmY;|fWVFf`1^m{|L=$j2SES=5P$##AOHafKmY;|fB*z`tpNZ3 zzhU0uzyJTs{N4P;{E40daBJ5V2N{O|1Rwwb2tWV=5P$##AOHafJbnV2K~MPCvOMeI Pna(qfXBnRH^Z)+`|7i9O literal 0 HcmV?d00001 diff --git a/__init__.py b/.gitignore similarity index 100% rename from __init__.py rename to .gitignore diff --git a/Tests/__init__.py b/Tests/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/Tests/__pycache__/__init__.cpython-313.pyc b/Tests/__pycache__/__init__.cpython-313.pyc new file mode 100644 index 0000000000000000000000000000000000000000..33671ced464fcc873c372894c3aa5336d59c46bb GIT binary patch literal 163 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 literal 0 HcmV?d00001 diff --git a/__pycache__/conftest.cpython-313-pytest-9.0.2.pyc b/__pycache__/conftest.cpython-313-pytest-9.0.2.pyc new file mode 100644 index 0000000000000000000000000000000000000000..f81b09ed3a2c356c17e670674b1617f9ad96e332 GIT binary patch literal 1889 zcmds1&1(};5P$oT%{Cux{MI5h2_kIOqLj8MB5GTuNt=T)dT1cTbXyjaO?bO&t)~

^hw@CU2IP*5!jiseW!3R5U-puU0H^2Gl#N!bH>+M|4 zcqb9^0}uWZyG-XRFmFhn|+z|u{pFPXzDM#Ij0Fso~u_L zX%bWKP3P~GZWVGY!nyp-!sIlIasKwq?CebLP9=CeA&3$nM>~uk>Rw$-Ivw zAQ%F5f!vjSt6;C97ruJz#jd^T>w-P7FOaiDlX6Tp%Qc;a8q}!hT8N@QiWf0;Nw-T} z8Kb)GP_y*7Ty=EThjMPd4gk~u01Ka=+`a;I@@lbQ>C`H2eAxKB@p0pm`>HrquQ)Z` zw5{Tl(WusI-K})FSgD(fwr<%YjTNS%r_w{mqzUk&z-L_o(j-5l124y$Q=2KRb^c_{E;Y=Ijgufiec_Eq^@p6qz?Lgi9i{ zxR|3y!B7(^mJP+|fX71MPqy%mWYQ~@1dj-#(H9KtSc;=J37?e)(j?mo={xdz+*JqH zGMnnr*Y{oZ^jftYl444mNFjw+gm##z4;`aw8>Yo#HySI@)!oynQe%ZTeA$92VHa|*Z!Kv!k={X1zXPM;yX-k42Y!ULDJd1xPLtA9jC8KSHi0X@>)uG>_ gEF?M-5fg3X+WkB7(2g9qcH%&}EGXO$dh`JN1LDP6R{#J2 literal 0 HcmV?d00001 diff --git a/__pycache__/data.cpython-313.pyc b/__pycache__/data.cpython-313.pyc new file mode 100644 index 0000000000000000000000000000000000000000..6b7da0755435b58cd6a3d68fe4e952d6658a8f00 GIT binary patch literal 401 zcmey&%ge<81l8WTnQDv-439w^7+`@iKI;G(QyGF8f*FIE^q7hmf|-L^fNWMh<|4*m zwqSNBn<pRtHJol}#mimRZss30d*A*nR)CCCO%rdup|iMgq_SPP0WlYvyQW2m!h z6<=^sW>I2tMxsJ-Vrg=!Ci5+plFEYAB4(hLB9Q&J*xfvRd_4W!Z?Wg3mXv_huoN+Y zWZ}e14ItM~ljRmih-+|2yi=&(EiNz%Y{e}eFdJqHe?X9@vuiw9%-J#6btS`Rpl*gQ zra;2kDkiizwWv7e!rBXaF6_9l`(jUwOMY@`Zfaghag0l5K~8=yl!`ZuNl7e8)GMgG z#bJ}1pHiBWYF8u(Gy@oh48=x3;sY}yBjW=Rg%w5@x%C=2ZivZVP&YrIbdlG!f$N5Z d;tIWHa^HWN5QtgUZfhK~iEe0_@GBYwV7BK@^0FVqVN&o-= literal 0 HcmV?d00001 diff --git a/praktikum/__pycache__/bun.cpython-313.pyc b/praktikum/__pycache__/bun.cpython-313.pyc new file mode 100644 index 0000000000000000000000000000000000000000..c1dd3a838ac9c8a422a7e0c0161eb0c1cb7a5ea9 GIT binary patch literal 1092 zcmbtSJ8u&~5Z-&)=gW(iCFelm1T=0efszKH6c9m|f>WdvC#@XkVjY~%X78>@s)$H| zprDAtQVM3w&G~E z>f~lrTQkWMmF4Z6qs_>6UN9Y44wx=j!7ebPZj{GT<$fIegz`xI62RbZ`4Ruj5BOoS zWAP8kCO_my$qW9CcP)q?Cc7e9}F8OwumI1aEuj<1w<3dcqB zwJ`ur(j0T6m<6@7iXn);=*Y=Ggy|3~OQMsG#PFAec+_HJfT>=0BPzxx zYRMSpvRbAt@2+jHalOPQA^JZx;Aq)Jls;EM0q+z~mrmd~&M4k?u7>sPb*@i~8dw2R z3-BLdl2|)T(x9}_T#0@3$0>alSN&0Diqch&g^}+CZqS5up3;?O4ICwmSgNi1&1%GO z?(7mm5g;v68b;N~tI=u{F>g7J+>p`^8D5XmVK{pM*h_c^V2k{c6;1COvUYXP?h`QY ziYI9Lx};6--8>;+`Z-B6_hwJQH-~blv;a>e6tAN!wmy2Fd&9Qom<2I$)f6~=MUtdb Mc~UZe6994G4_ag<<^TWy literal 0 HcmV?d00001 diff --git a/praktikum/__pycache__/burger.cpython-313.pyc b/praktikum/__pycache__/burger.cpython-313.pyc new file mode 100644 index 0000000000000000000000000000000000000000..39c713f48842448c7fc22f2334704134fc69c10f GIT binary patch literal 3250 zcmbVO-EY%Y6u-7($4S#BrSxM3T2m@$2$Xd#gO!i50;4OVLbWPYkYSb9REE|G*A5?j z;$wosm=F(Web_^hCNUl+bz|KaU*k`(6<8`uNJ!Hjcq<*OQ|G8kB{k2v*RwLb8|)gB5bEGPL9{cmi^n z>xsybWI2qNyH*8QQLrjpD<(&2(3yVF(FZ-&+r@U#%JIo_$5K zezwosXRO=S47Ag&Ve4Aamh7|EL;I|K4(8vn&q>xD>vuQ6x(EJ?kl`-)(EY%=4dFA8 z^$xTT+=ySK7VuBQJRHAkP2i%r88uA&Dr;ikM0+z70Jffw@ud9e0b7p(m?z&`^Sr|kX+9G( zt>GcysvuYg9Q^D?uB(0wS4$xy?N$yGwWyYYEjN~pYJ(?QJcS>6_O$U#e+Of=7^00fRt?AQ_ zs3@AQnTp~>y@PJ`9Z|?{R6=ux%vRM-1g?m)>o-gUo``j?z)5HXnxTAsqk|Oo7z5)v z8Hg2kI6^4iusGvJ#aUVbma7{WB}o)lb3{Wm71*{>0OLEVVA#MCL@+hqigXFi4;R^4 zfCQO#+3p18IvqDOTQDZiMd#l9c#+Qnx~H2 zv6cz`S$#vUe(mG>wG%zFk;+_k+^&vis}pu4ae4O(jx0;e2_#lM5pfA!K%@w1T_W$p z?S|9$DhN2Nsk zIe;YqS#U=sGH(Xo&ilC}vTwhCd~Zef|M(Evx#9}%*mn?^#;3bPia6WZVh&mC!~c^K zDc)izy-@GC(6S9g8W$w&+8!Oq?H;gq4`g>Auy!4^4t`}VJM>pX@$W(?cD3SC z#bnJ?;HG#(%t>vw)RvXnt;UY&ZmV|NV{!Ye7_iO9ziihJ!~;ui@i4~*NvVI9esJHP-+S--&vk}}bprJALCJX> zA>=z6C#3Y0P70I;Ns%kWBpG5#({K}skzyn(7rI85M|(ym2TFrjgh?i05mREa8DWYk zTdJwRr&`h5Q8St$PZbt3V_-#0O;{RODp+x0#e0@6EZrPpL&ZdPIMg4Oi_Bhd?6Utu zf>5<@z;ynGAMhQ%%lCp!gSYrT{}`-*xdZwx-w)P!b4ur1f8sL+V9nr#c=MSz@$nvS z8Nn()2%ZP4@apY992$H#SPj-7Ah>Vwug2v6U1hI}So{u#OpGe&LAI zuZ{ZksvRoje8~>gDsu{U;bbb4GNsFh#}o;B-K z-Abt^=uNB2@=Lz6R4ZA7dZw!NP@~i-J3gghaxlcH6HtRV-UVPQ^jZgUpjhAkWfO!s38sB~kCT#D>7~@TtKPz{7aa_NnM` zICd(rK01u|@g`(8l6<|qvCOqJ8v)=v$%s~8MAxTM(J-hO`so&(fTM7`Gf1SqQRiCf z+=<|Sfc-TQv4dw5K`@C=@aG_cXXU}(F!VN;P2jMx4j8shX{oYMb5T!F`mC0BdnY55 zE;`KfU8ii9D{vg6bfHoJMfQ9as*7$V?=x&a6A>?=hNBM0DfRrk?-Xd>_nGsg=Gz{n z+ueM`R2lAtVAx&{w|JfWj3}zsPRQ!zcXFG6XxciA<-M07lC%aSA=N0L(d7Xc<7{07x2h+O~x literal 0 HcmV?d00001 diff --git a/bun.py b/praktikum/bun.py similarity index 100% rename from bun.py rename to praktikum/bun.py diff --git a/burger.py b/praktikum/burger.py similarity index 100% rename from burger.py rename to praktikum/burger.py diff --git a/database.py b/praktikum/database.py similarity index 100% rename from database.py rename to praktikum/database.py diff --git a/ingredient.py b/praktikum/ingredient.py similarity index 100% rename from ingredient.py rename to praktikum/ingredient.py diff --git a/ingredient_types.py b/praktikum/ingredient_types.py similarity index 100% rename from ingredient_types.py rename to praktikum/ingredient_types.py diff --git a/praktikum.py b/praktikum/praktikum.py similarity index 100% rename from praktikum.py rename to praktikum/praktikum.py diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 000000000..e69de29bb From 75fb75f381edd565ba575ece47e6ee3e6f6f1f64 Mon Sep 17 00:00:00 2001 From: Emilkabals Date: Wed, 21 Jan 2026 22:51:10 +0300 Subject: [PATCH 2/2] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D1=8E=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=20Pytest-cov=207.0.0,=20=D0=B8=D1=81=D0=BF=D1=80?= =?UTF-8?q?=D0=B0=D0=B2=D0=BB=D0=B5=D0=BD=D1=8B=20=D0=B7=D0=B0=D0=BC=D0=B5?= =?UTF-8?q?=D1=87=D0=B0=D0=BD=D0=B8=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .coverage | Bin 53248 -> 53248 bytes .gitignore | 19 +++++++++++++++++++ README.md | 38 +++++++++++++++++++++++++++++++++----- requirements.txt | 4 ++++ 4 files changed, 56 insertions(+), 5 deletions(-) diff --git a/.coverage b/.coverage index c21fdfb1fdd7ea57df57853d2f2a924ea399857b..dc5f8cbbbbc1596f7eba6480a0be441f0b45977a 100644 GIT binary patch delta 373 zcmZozz}&Eac|w*{1OtB@uN1#7Pdd*>?m0XboT1#A>^hu!Y!MqLUSZwb%XWy3t3`l` zU0hU@v4eSYB=2QLV+A14)m2bX&qyrJP**5PttbHr!2wXt11O`ApQccfk*biASdzF| zi~o)Q+XDvvcl-}F3kqD}SKwh{mgNT;5T96-Tx=k~$Sf^cmReMtnV)B_XK1WvxXFM; zfP;y@n1O#ce=$%?IzO8m6AMG5;N*FJdQu^&#U;ftB|tJhskA6PwMeg^(wPw`%?*;4 zg-FN8XXa&=#K!~WxEL51nD|Q=`1kOa01eCFXK`l%8f6%-FNw`4CTA9)NrwLVtYF#A zU*ZK6fR1^=!2gr~1yKJTeieQu7Di45rm%h2>-OLN_G=#tDcZJ20=k6 z2)(F?_8;(KK)vckuOdoO3T_Xrpd!K|h_v)gz>Q$*<(EgkZ|3ovg=My|%J4H)v5_kqJ7_&R}UAv|>@x+D_b&HdvwDh7; z-Pek|**KV;Yfkp2YHPkBP^f63()&Fbgfo#p9r$7F#`7(|jb6<}Z%}(9xi{^_-jvt& zkxy{sWzF~JJiiBxQw$BMjlH=sH5Vc}V;};JhW!3d-j@LS6kTsvoa@mQlk3eUFuusc~Z%Q|JN6Fo(yK*&h^c6JSk^jeXcVdH-C@#*6xH7S?UruxY^tP}VRUHAs;c=|oq0!_+!_F*jTK5|Bj7OZOPC;Wh~ buz{Oa(R~FKW-+3e&|&J}I+zYa2gTS1+6e7G diff --git a/.gitignore b/.gitignore index e69de29bb..1b9416895 100644 --- a/.gitignore +++ b/.gitignore @@ -0,0 +1,19 @@ +venv/ +env/ +ENV/ +.venv/ + +*.pyc +*.pyo +*.pyd +*.pyc +__pycache__/ +.python-version + + +.cache/ +*.swp +*.swo +.idea/ + +.pytest_cache \ No newline at end of file diff --git a/README.md b/README.md index 272081708..26c401a87 100644 --- a/README.md +++ b/README.md @@ -1,24 +1,52 @@ ## Задание 1: Юнит-тесты +


+ +## Студент: Самигуллин Эмиль + +## Когорта: 33 +
### Автотесты для проверки программы, которая помогает заказать бургер в Stellar Burgers ### Реализованные сценарии -Созданы юнит-тесты, покрывающие классы `Bun`, `Burger`, `Ingredient`, `Database` +Созданы юнит-тесты, покрывающие класс `Burger` +#Только бургеры, так как требования изменились Процент покрытия 100% (отчет: `htmlcov/index.html`) ### Структура проекта -- `praktikum` - пакет, содержащий код программы -- `tests` - пакет, содержащий тесты, разделенные по классам. Например, `bun_test.py`, `burger_test.py` и т.д. +- `praktikum` - папка, содержащая код программы +- `tests` - папка, содержащая тесты, разделенные по классам. Например, `burger_test.py`. + +### Реализованные тесты + +#### `test_set_buns` +Проверяет, что можно установить булочку для бургера. + +#### `test_add_ingredient` (параметризованный) +Проверяет, что ингредиент (соус или начинка) корректно добавляется в список. -### Запуск автотестов +#### `test_remove_ingredient` +Проверяет, что ингредиент удаляется по индексу. + +#### `test_move_ingredient` +Проверяет, что ингредиент можно переместить на новую позицию. + +#### `test_get_price` (параметризованный) +Проверяет правильность расчёта общей стоимости бургера. +Формула: `2 * цена булочки + сумма цен ингредиентов`. + +#### `test_get_receipt` +Проверяет формат чека, который выводится при оформлении заказа. **Установка зависимостей** > `$ pip install -r requirements.txt` **Запуск автотестов и создание HTML-отчета о покрытии** - +> `pytest Tests/test_burger.py -v` > `$ pytest --cov=praktikum --cov-report=html` +# Можно запускать вместе, но обычно это избыточно +pytest --cov=praktikum --cov-report=html --alluredir=allure-results \ No newline at end of file diff --git a/requirements.txt b/requirements.txt index e69de29bb..9572c0a48 100644 --- a/requirements.txt +++ b/requirements.txt @@ -0,0 +1,4 @@ +pytest==8.2.2 +pytest-cov==5.0.0 +allure-pytest==2.13.5 +coverage==7.5.3