1. 程式人生 > 其它 >pytest之多程序執行測試用例(pytest-xdist)

pytest之多程序執行測試用例(pytest-xdist)

背景:

我們日常的工作當中進行自動化測試編寫的測試用例會非常多,測試用例一個一個的執行所需要花費的時間會很長,你想象一下如果開發改動一塊程式碼,我們需要回歸一下,這時候執行一下自動化用例需要花費一小時或者好幾個小時的時間,這是我們無法容忍的。

為了解決這個問題,我們採用pytest的外掛pytest-xdist來進行多程序的併發執行測試用例,大大的縮短測試用例的執行時間,提高效率

併發執行測試用例:

1.安裝pytest-xdist

pip install pytest-xdist

2.多程序併發執行測試用例

pytest test_add.py -n NUM    # NUM表示併發的程序數

舉例:

專案結構如下:

程式碼參考:

# file_name: test_a.py

import pytest
import time


def test_a_01():
    print("----------------->>> test_a_01")
    time.sleep(1)
    assert 1


def test_a_02():
    print("----------------->>> test_a_02")
    time.sleep(1)
    assert 1


def test_a_03():
    print
("----------------->>> test_a_03") time.sleep(1) assert 1 def test_a_04(): print("----------------->>> test_a_04") time.sleep(1) assert 1 if __name__ == '__main__': pytest.main(["-s", "test_a.py"])
# file_name: test_b.py


import pytest
import time


def
test_b_01(): print("----------------->>> test_b_01") time.sleep(1) assert 1 def test_b_02(): print("----------------->>> test_b_02") time.sleep(1) assert 1 def test_b_03(): print("----------------->>> test_b_03") time.sleep(1) assert 1 def test_b_04(): print("----------------->>> test_b_04") time.sleep(1) assert 1 if __name__ == '__main__': pytest.main(["-s", "test_b.py"])

正常執行以上程式碼,耗時:8.09s

設定並行執行數量為4,耗時:3.48s,大大的縮短了測試用例的執行時間。

去期待陌生,去擁抱驚喜。