Pytest CLI

Install

pip install pytest pytest-asyncio
pytest --help

Usage

НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ ΠΊΡ€Π°Ρ‚ΠΊΠΈΠΉ ΠΎΠ±Π·ΠΎΡ€ соглашСний ΠΎΠ± ΠΈΠΌΠ΅Π½Π°Ρ…, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ваш тСстовый ΠΊΠΎΠ΄ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΡ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ pytest:

  • ВСстовыС Ρ„Π°ΠΉΠ»Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ Π½Π°Π·Π²Π°Π½Ρ‹ test_<something>.py ΠΈΠ»ΠΈ <something>_test.py.

  • ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ тСстирования Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ Π½Π°Π·Π²Π°Π½Ρ‹ test_<something>.

  • ВСстовыС классы Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ Π½Π°Π·Π²Π°Π½Ρ‹ Test<Something>.

pytest       # search into a current directory all functions started from 'test_' or ended with '_test'
pytest path/to/test_1.py path/to/test_2.py 
pytest path/to/test_1.py::test_constructor       # Run the 'test_asdict' function only

Π—Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ тСст:

pytest path/to/test_1.py::test_function
pytest path/to/test_1.py::TestClass::test_method

ВывСсти ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ тСстах

-v β€” ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ
-q β€” ΠΊΡ€Π°Ρ‚ΠΊΠΎ

Π”Ρ€ΡƒΠ³ΠΈΠ΅ ΠΊΠ»ΡŽΡ‡ΠΈ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΌΠΎΠΆΠ½ΠΎ Π² ΡΡ‚Π°Ρ‚ΡŒΠ΅ Π½Π° habr ΠΈΠ»ΠΈ pytest --help.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ структуры Ρ„Π°ΠΉΠ»ΠΎΠ² для тСстов

/tests
   /func            β€” Functional tests
   /unit            β€” Unit-tests
   pytest.ini       β€” (optional) настройки pytest
   conftest.py      β€” Hook functions and fixtures

Hook functions ΡΠ²Π»ΡΡŽΡ‚ΡΡ способом вставки ΠΊΠΎΠ΄Π° Π² Ρ‡Π°ΡΡ‚ΡŒ процСсса выполнСния pytest для измСнСния Ρ€Π°Π±ΠΎΡ‚Ρ‹ pytest. Fixtures β€” Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ Π²Ρ‹Π·Π²Π°Π½Ρ‹ Π΄ΠΎ ΠΈ послС выполнСния тСста (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, для ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΊ рСсурсу ΠΈ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡŽ ΠΎΡ‚ Π½Π΅Π³ΠΎ).

Last updated