一、pytest介紹
Pytest是Python中一個功能強大且易於使用的測試框架,支持對各種類型的軟件進行測試,包括Web應用程序、API以及Python庫。它是一個插件化系統,可以通過插件擴展其能力。Pytest不僅能夠測試單元或集成模塊,還可以測試機器學習模型等複雜系統。
二、pytest執行命令
1.基礎執行命令
在當前目錄下執行pytest命令即可對當前目錄下的測試用例進行測試。
pytest
如果你不想輸出那麼多的詳細信息,可以使用-c命令行選項,用來指定一個配置文件。
pytest -c pytest.ini
如果你想指定測試用例的目錄,可以使用directory命令行選項。
pytest tests/
如果你想指定使用的python版本,可以使用–pyargs命令來指定,例如:
pytest --pyargs my-package
2.運行測試用例
除了基礎執行命令外,還有其他的命令可以幫助我們運行測試用例。
(1)指定測試模塊
使用-m參數可以指定要運行的測試模塊,例如:
pytest -m smoke
上面的命令將運行所有帶有smoke標記的測試用例。
(2)指定測試類和測試方法
使用-k參數可以指定要運行的測試類和測試方法,例如:
pytest -k "TestClass and test_method"
上面的命令將只運行TestClass類中名為test_method的測試方法。
(3)參數化測試
Pytest支持參數化測試,可以使用@pytest.mark.parametrize裝飾器來標記參數化測試,例如:
import pytest @pytest.mark.parametrize("a, b, expected", [ (1, 2, 3), (4, 5, 9), (7, 8, 15) ]) def test_add(a, b, expected): assert a + b == expected
上面的示例中,a、b、expected參數會依次取列表中的值進行測試,測試結果會輸出每個用例的執行情況。
(4)多線程測試
Pytest支持使用-xdist插件在多個進程中並發運行測試用例,從而加快測試速度。只需要通過命令行參數–numprocesses指定進程數即可,例如:
pytest -n 4
上面的命令將使用4個進程並發執行測試用例。
(5)覆蓋率測試
Pytest可以使用pytest-cov插件進行覆蓋率測試。首先需要安裝pytest-cov,然後通過命令行參數–cov指定覆蓋率測試的範圍,例如:
pip install pytest-cov pytest --cov=my_module tests/
上面的命令將測試my_module模塊的覆蓋率。
三、總結
Pytest是一個強大的測試框架,支持多種測試場景和方式,並且易於擴展。通過本文的介紹,希望您對Pytest執行命令有了更深入的了解。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/187723.html