рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдкрд░реАрдХреНрд╖рдг рдХреЗ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ, рдЖрдк рд╡рд┐рднрд┐рдиреНрди рдЙрдкрдХрд░рдг рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЕрдЬрдЧрд░ рдореЗрдВ рдСрдЯреЛ-рдЯреЗрд╕реНрдЯ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП py.test рд╕рдмрд╕реЗ рд▓реЛрдХрдкреНрд░рд┐рдп рд╕рдорд╛рдзрд╛рдиреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИред
рдкрд╛рдЗрдЯреЗрд╕реНрдЯ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдмрд╣реБрдд рд╕рд╛рд░реЗ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рд╕реЗ рдЧреБрдЬрд░рдиреЗ рдФрд░ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреА рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд╡реЗрдмрд╕рд╛рдЗрдЯ рд╕реЗ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдХрд╛ рдЕрдзреНрдпрдпрди рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдореИрдВ рдПрдХ рдореБрдЦреНрдп рдХрд╛рд░реНрдп рдХреЗ рд╕рдорд╛рдзрд╛рди рдХрд╛ рдкреНрд░рддреНрдпрдХреНрд╖ рд╡рд┐рд╡рд░рдг рдирд╣реАрдВ рдЦреЛрдЬ рд╕рдХрд╛ - рдПрдХ рдЕрд▓рдЧ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдкрд░реАрдХреНрд╖рдг рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдкрд░реАрдХреНрд╖рдг рдЪрд▓ рд░рд╣рд╛ рд╣реИред рдЕрдиреНрдпрдерд╛, рдпрд╣ рдХрд╣рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдлрд╝рд╛рдЗрд▓ рд╕реЗ рдкрд░реАрдХреНрд╖рдг рдХрд╛рд░реНрдпреЛрдВ рдореЗрдВ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рд▓реЛрдб рдХрд░рдирд╛ рдпрд╛ рд╕реАрдзреЗ рдлрд╝рд╛рдЗрд▓ рд╕реЗ рдкреИрд░рд╛рдореАрдЯрд░ рдХрд░рдирд╛ред рдЗрд╕ рддрд░рд╣ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдкреЗрдЪреАрджрдЧрд┐рдпреЛрдВ рдореЗрдВ рдХрд╣реАрдВ рднреА рд╡рд░реНрдгрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХрд╛ рдПрдХрдорд╛рддреНрд░ рдЙрд▓реНрд▓реЗрдЦ рдХреЗрд╡рд▓ рдПрдХ рд╣реА рджрд╕реНрддрд╛рд╡реЗрдЬ рдореЗрдВ рд╣реИред
рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рдореИрдВ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЗ рд╕рдорд╛рдзрд╛рди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реВрдВрдЧрд╛ред
рдХрд╛рд░реНрдп
рдореБрдЦреНрдп рдХрд╛рд░реНрдп рдпрд╣ рд╣реИ рдХрд┐ рдкрд░реАрдХреНрд╖рдг рдорд╛рдорд▓реЛрдВ рдХреЛ рд╕рдВрдмрдВрдзрд┐рдд рдлрд╝рд╛рдЗрд▓ рдлрд╝рдВрдХреНрд╢рди рдирд╛рдореЛрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдкрд░реАрдХреНрд╖рдг рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ test_input
рдФрд░ expected_result
рдкреИрд░рд╛рдореАрдЯрд░ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрддреНрдкрдиреНрди рдХрд┐рдпрд╛ test_input
ред
рдЕрддрд┐рд░рд┐рдХреНрдд рдХрд╛рд░реНрдп:
- рдкрд░реАрдХреНрд╖рдг рдорд╛рдорд▓реЛрдВ рдХреЗ рд╕рд╛рде рдлрд╝рд╛рдЗрд▓реЛрдВ рдХрд╛ рдорд╛рдирд╡-рдкрдардиреАрдп рдкреНрд░рд╛рд░реВрдкрдг рдЪреБрдиреЗрдВ;
- рд╣рд╛рд░реНрдб-рдХреЛрдбреЗрдб рдкрд░реАрдХреНрд╖рдг рдорд╛рдорд▓реЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдЫреЛрдбрд╝ рджреЗрдВ;
- рдкреНрд░рддреНрдпреЗрдХ рдорд╛рдорд▓реЗ рдХреЗ рд▓рд┐рдП рд╕реНрдкрд╖реНрдЯ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реЗрдВред
рдЙрдкрдХрд░рдг
рд▓реЗрдЦ рдореЗрдВ, рдореИрдВ рддреАрд╕рд░реЗ рдкрдХреНрд╖ рдХреЗ рдкреНрд▓рдЧрдЗрдиреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдмрд┐рдирд╛ рдкрд╛рдпрдерди 3 (2.7 рднреА рдЙрдкрдпреБрдХреНрдд рд╣реИ), рдкреНрдпреНрдорд▓ рдФрд░ pytest
(рдкрд╛рдпрдерди 3 рдХреЗ рд▓рд┐рдП рд╕рдВрд╕реНрдХрд░рдг 5, рдпрд╛ рдкрд╛рдпрдерди 2.7 рдХреЗ рд▓рд┐рдП 4.6) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ pytest
ред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдорд╛рдирдХ os
рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рдЬрд┐рд╕ рдлрд╝рд╛рдЗрд▓ рд╕реЗ рд╣рдо рдкрд░реАрдХреНрд╖рдг рдорд╛рдорд▓реЛрдВ рдХреЛ рд▓реЗрдВрдЧреЗ, рдЙрд╕реЗ рдПрдХ рдорд╛рд░реНрдХрдЕрдк рднрд╛рд╖рд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рдВрд░рдЪрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рдЬреЛ рдХрд┐рд╕реА рд╡реНрдпрдХреНрддрд┐ рдХреЛ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИред рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, YAML рдХреЛ рдЪреБрдирд╛ рдЧрдпрд╛ рдерд╛ (рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдорд╛рдирд╡-рдкрдардиреАрдп рдкреНрд░рд╛рд░реВрдк рдХреЛ рдЪреБрдирдиреЗ рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд рдХрд╛рд░реНрдп рдХреЛ рд╣рд▓ рдХрд░рддрд╛ рд╣реИ) ред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдбреЗрдЯрд╛ рд╕реЗрдЯ рдХреЗ рд╕рд╛рде рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдорд╛рд░реНрдХрдЕрдк рднрд╛рд╖рд╛ рдХрд┐рд╕ рддрд░рд╣ рдХреА рд╣реИ, рдпрд╣ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдкрд░ рдкреНрд░рд╕реНрддреБрдд рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИред
рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди
рдЪреВрдВрдХрд┐ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдореЗрдВ рдмреНрд░рд╣реНрдорд╛рдВрдб рдХрд╛ рдореБрдЦреНрдп рд╕реНрддрдВрдн рд╕рдордЭреМрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдореЗрдВ рдЕрдкрдиреЗ рд╕рдорд╛рдзрд╛рди рдХреЗ рд▓рд┐рдП рдХрдИ рдкреНрд░рд╕реНрддрд╛рд╡ рдкреЗрд╢ рдХрд░рдиреЗ рд╣реЛрдВрдЧреЗред
рдЕрд╡рд░реЛрдзрди
рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдпрд╣ рд╕рдорд╛рдзрд╛рди pytest_generate_tests
( рд╡рд┐рдХреА ) рдЕрд╡рд░реЛрдзрди рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдкрд░реАрдХреНрд╖рдг рдорд╛рдорд▓реЛрдВ рдХреЛ рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рдЪрд░рдг рдореЗрдВ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ, рдФрд░ рдЗрд╕рдХрд╛ рддрд░реНрдХ metafunc
, рдЬреЛ рд╣рдореЗрдВ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдкреИрд░рд╛рдореАрдЯрд░ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдЗрд╕ рдмрд┐рдВрджреБ рдкрд░, рдкреНрд░рддреНрдпреЗрдХ рдкрд░реАрдХреНрд╖рдг рдлрд╝рдВрдХреНрд╢рди рдкрд░ рдкрд╛рдЗрд░реЗрд╕реНрдЯ рдкреБрдирд░рд╛рд╡реГрддреНрдд рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдЗрд╕рдХреЗ рд▓рд┐рдП рдмрд╛рдж рдХреА рдкреАрдврд╝реА рдХреЛрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддрд╛ рд╣реИред
рдмрд╣рд╕
рдЖрдкрдХреЛ рдкрд░реАрдХреНрд╖рдг рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдорд╛рдкрджрдВрдбреЛрдВ рдХреА рдПрдХ рд╡рд┐рд╕реНрддреГрдд рд╕реВрдЪреА рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреА рдЪрд╛рд╣рд┐рдПред рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╢рдмреНрджрдХреЛрд╢ test_input
рдФрд░ рдХрд┐рд╕реА рднреА рдкреНрд░рдХрд╛рд░ рдХрд╛ рдбреЗрдЯрд╛ (рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдмрд╛рд░ рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдпрд╛ рдкреВрд░реНрдгрд╛рдВрдХ) expected_result
рдореЗрдВ expected_result
ред рд╣рдореЗрдВ metafunc.parametrize(...)
рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдЗрди рдорд╛рдкрджрдВрдбреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
parameterization
рдпрд╣ рдлрд╝рдВрдХреНрд╢рди рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдкреИрд░рд╛рдореАрдЯрд░реЗрд╢рди @pytest.mark.parametrize
рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреЛ рджреЛрд╣рд░рд╛рддрд╛ рд╣реИ, рдЬреЛ рдкрд╣рд▓реЗ рддрд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд░реАрдХреНрд╖рдг рдлрд╝рдВрдХреНрд╢рди (рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ "test_input, expected_result"
) рдФрд░ рдбреЗрдЯрд╛ рдХреА рдПрдХ рд╕реВрдЪреА рдХреЛ рд╕реВрдЪреАрдмрджреНрдз рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рджреНрд╡рд╛рд░рд╛ рдпрд╣ рд╣рдорд╛рд░реЗ рдкрд░реАрдХреНрд╖рдг рдорд╛рдорд▓реЛрдВ рдХреЛ рдмрдирд╛рдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдЧрд╛ред [(1, 2), (2, 4), (3, 6)]
)ред
рд▓рдбрд╝рд╛рдИ рдореЗрдВ, рдпрд╣ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦреЗрдЧрд╛:
@pytest.mark.parametrize("test_input, expected_result", [(1, 2), (2, 4), (3, 6)]) def test_multiplication(test_input, expected_result): assert test_input * 2 == expected_result
рдФрд░ рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╣рдо рдЗрд╕реЗ рдкрд╣рд▓реЗ рд╕реЗ рд╕рдВрдХреЗрдд рджреЗрдВрдЧреЗ:
рдЫрд╛рдирдиреЗ
рдпрд╣рд╛рдВ рд╕реЗ рдЙрди рдкрд░реАрдХреНрд╖рдг рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдЖрд╡рдВрдЯрди рдХрд╛ рднреА рдЕрдиреБрд╕рд░рдг рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрд╣рд╛рдВ рдХрд┐рд╕реА рдлрд╝рд╛рдЗрд▓ рд╕реЗ рдбреЗрдЯрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдЙрди рд▓реЛрдЧреЛрдВ рд╕реЗ рдЬреЛ рд╕реНрдерд┐рд░ / рдЧрддрд┐рд╢реАрд▓ рдбреЗрдЯрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рд╣рдо рдлрд╝рд╛рдЗрд▓ рд╕реЗ рдЬрд╛рдирдХрд╛рд░реА рдкрд╛рд░реНрд╕ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЗрд╕ рдлрд╝рд┐рд▓реНрдЯрд░рд┐рдВрдЧ рдХреЛ рд▓рд╛рдЧреВ рдХрд░реЗрдВрдЧреЗред
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдлрд╝рд┐рд▓реНрдЯрд░ рд╕реНрд╡рдпрдВ рдХреЛрдИ рднреА рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ:
yaml
рдирд╛рдо рдХрд╛ рдлрд╝рдВрдХреНрд╢рди рдорд╛рд░реНрдХрд░:
рдЕрдиреНрдпрдерд╛, рдПрдХ рд╣реА рдлрд┐рд▓реНрдЯрд░ рдЗрд╕ рддрд░рд╣ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
test_input
рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рддрд░реНрдХ:
рдЗрд╕ рд╡рд┐рдХрд▓реНрдк рдиреЗ рдореБрдЭреЗ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдЕрдиреБрдХреВрд▓ рдмрдирд╛рдпрд╛ред
рдкрд░рд┐рдгрд╛рдо
рд╣рдореЗрдВ рдХреЗрд╡рд▓ рдЙрд╕ рд╣рд┐рд╕реНрд╕реЗ рдХреЛ рдЬреЛрдбрд╝рдирд╛ рд╣реЛрдЧрд╛ рдЬрд╣рд╛рдВ рд╣рдо рдлрд╝рд╛рдЗрд▓ рд╕реЗ рдбреЗрдЯрд╛ рдкрд╛рд░реНрд╕ рдХрд░рддреЗ рд╣реИрдВред рдпрд╣ рдпрдорд▓ (рд╕рд╛рде рд╣реА рдЬрд╕рди , рдПрдХреНрд╕рдПрдордПрд▓, рдЖрджрд┐) рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдореБрд╢реНрдХрд┐рд▓ рдирд╣реАрдВ рд╣реЛрдЧрд╛, рдЗрд╕рд▓рд┐рдП рд╣рдо рд╕рдм рдХреБрдЫ рдЗрдХрдЯреНрдард╛ рдХрд░рддреЗ рд╣реИрдВред
рд╣рдо рдЗрд╕ рддрд░рд╣ рдПрдХ рдкрд░реАрдХреНрд╖рдг рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓рд┐рдЦрддреЗ рд╣реИрдВ:
рдПрдХ рдбреЗрдЯрд╛ рдлрд╝рд╛рдЗрд▓:
# test_multiplication.yaml - !!python/tuple [1,2] - !!python/tuple [1,3] - !!python/tuple [1,5] - !!python/tuple [2,4] - !!python/tuple [3,4] - !!python/tuple [5,4]
рд╣рдореЗрдВ рдкрд░реАрдХреНрд╖рдг рдорд╛рдорд▓реЛрдВ рдХреА рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕реВрдЪреА рдорд┐рд▓рддреА рд╣реИ:
pytest /test_script.py --collect-only ======================== test session starts ======================== platform linux -- Python 3.7.4, pytest-5.2.1, py-1.8.0, pluggy-0.13.0 rootdir: /pytest_habr collected 6 items <Module test_script.py> <Function test_multiplication[1-2]> <Function test_multiplication[1-3]> <Function test_multiplication[1-5]> <Function test_multiplication[2-4]> <Function test_multiplication[3-4]> <Function test_multiplication[5-4]> ======================== no tests ran in 0.04s ========================
рдФрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЪрд▓рд╛рдХрд░, рдпрд╣ рдкрд░рд┐рдгрд╛рдо: 4 failed, 2 passed, 1 warnings in 0.11s
рдЕрддрд┐рд░рд┐рдХреНрддред рдХрд╛рд░реНрдп
рдпрд╣ рд▓реЗрдЦ рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЬрдЯрд┐рд▓рддрд╛ рдХреЗ рд▓рд┐рдП, рдореИрдВ рд╣рдорд╛рд░реЗ рдХрд╛рд░реНрдп рдореЗрдВ рдФрд░ рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдЬреЛрдбрд╝реВрдВрдЧрд╛, рдПрдХ рдФрд░ рдбреЗрдЯрд╛ рдкрд░реАрдХреНрд╖рдг рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдкрд░реАрдХреНрд╖рдг рдорд╛рдорд▓реЗ рдХрд╛ рдЕрдВрдХрдиред
рддреЛ, рддреБрд░рдВрдд, рдХреЛрдб:
рддрджрдиреБрд╕рд╛рд░, рд╣рдо рдмрджрд▓рддреЗ рд╣реИрдВ рдХрд┐ рд╣рдорд╛рд░реА YAML рдлрд╛рдЗрд▓ рдХреИрд╕реЗ рджрд┐рдЦреЗрдЧреА:
# test_multiplication.yaml - test_data: [1, 2] id: 'one_two' - test_data: [1,3] marks: ['xfail'] - test_data: [1,5] marks: ['skip'] - test_data: [2,4] id: "it's good" marks: ['xfail'] - test_data: [3,4] marks: ['negative'] - test_data: [5,4] marks: ['more_than']
рдлрд┐рд░ рд╡рд┐рд╡рд░рдг рдореЗрдВ рдмрджрд▓ рдЬрд╛рдПрдЧрд╛:
<Module test_script.py> <Function test_multiplication[one_two]> <Function test_multiplication[1_3]> <Function test_multiplication[1_5]> <Function test_multiplication[it's good]> <Function test_multiplication[3_4]> <Function test_multiplication[5_4]>
рдФрд░ рд▓реЙрдиреНрдЪ рд╣реЛрдЧрд╛: 2 failed, 1 passed, 1 skipped, 1 xfailed, 1 xpassed, 2 warnings in 0.12s
рдкреБрдирд╢реНрдЪ: рдЪреЗрддрд╛рд╡рдирд┐рдпрд╛рдБ - рдХреНрдпреЛрдВрдХрд┐ рд╕реНрд╡-рд▓рд┐рдЦрд┐рдд рдорд╛рд░реНрдХрд░ pytest.ini рдореЗрдВ рд░рд┐рдХреЙрд░реНрдб рдирд╣реАрдВ рдХрд┐рдП рдЧрдП рд╣реИрдВ
рд╡рд┐рд╖рдп рдХреЗ рд╡рд┐рдХрд╛рд╕ рдореЗрдВ
рдЯрд╛рдЗрдк рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЗ рд╕рд╡рд╛рд▓реЛрдВ рдкрд░ рдЪрд░реНрдЪрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░:
- рдпрдорд▓ рдлрд╝рд╛рдЗрд▓ рд▓рд┐рдЦрдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рддрд░реАрдХрд╛ рдХреНрдпрд╛ рд╣реИ?
- рдкрд░реАрдХреНрд╖рдг рдбреЗрдЯрд╛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдирд╛ рдХрд┐рд╕ рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИ?
- рдкреАрдврд╝реА рдХреЗ рд╕реНрддрд░ рдкрд░ рдЕрддрд┐рд░рд┐рдХреНрдд рдкрд░реАрдХреНрд╖рдг рдорд╛рдорд▓реЗ рдХреА рдХреНрдпрд╛ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ?
- рдХреНрдпрд╛ рдореБрдЭреЗ рдкреНрд░рддреНрдпреЗрдХ рдорд╛рдорд▓реЗ рдХреЗ рд▓рд┐рдП рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛рдУрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ?