這篇是記錄我在看鐵人賽 Python 與自動化測試的敲門磚 的過程

pytest-xdist,可以協助我們將 pytest 用併發的方式進行測試,白話來說就是同時進行很多個測試,而不是一個測完才接著下一個

套件安裝

1
pip install pytest-xdist

建立測試程式

建立三個測試程式,並於每個測試案例內都進行等待五秒

1
2
3
4
5
6
7
8
9
10
11
12
13
from time import sleep


def test_case_1():
sleep(5)


def test_case_2():
sleep(5)


def test_case_3():
sleep(5)

成果展示

未使用併發測試時,可以看到測試總共花了 15 秒左右

使用 pytest -n auto 表示要使用併發模式進行測試,可以看到測試時間只花了六秒鐘左右

併發數量若使用 auto 會自動抓取電腦 CPU 核心數,來建立併發數量,一般建議使用 CPU 核心數 / 2 的併發數量來進行測試
可以透過 pytest -n 來進行併發數量的設定,
例如:pytest -n 3 ./day_29/test_demo.py