五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

1-Pytest全棧自動化測試指南- 運(yùn)行

2023-02-03 12:52 作者:親切浪子  | 我要投稿

? ?

??

? ? 通常,使用命令調(diào)用 pytest(有關(guān)調(diào)用 pytest 的其他方法,pytest請參見下文)。這將在名稱遵循表單的所有文件中或?在當(dāng)前目錄及其子目錄中執(zhí)行所有測試。更一般地說,pytest 遵循標(biāo)準(zhǔn)測試發(fā)現(xiàn)規(guī)則。test_*.py*_test.py、

指定要運(yùn)行的測試

Pytest 支持多種從命令行運(yùn)行和選擇測試的方法。

在模塊中運(yùn)行測試

pytest test_mod.py

在目錄中運(yùn)行測試

pytest testing/

通過關(guān)鍵字表達(dá)式運(yùn)行測試

pytest -k?"MyClass and not method"

這將運(yùn)行包含與給定字符串表達(dá)式匹配的名稱(不區(qū)分大小寫)的測試,其中可以包括使用文件名、類名和函數(shù)名作為變量的 Python 運(yùn)算符。上面的例子會運(yùn)行TestMyClass.test_something?,但不會TestMyClass.test_method_simple。

按節(jié)點(diǎn) ID 運(yùn)行測試

每個收集到的測試都被分配一個唯一的nodeid,它由模塊文件名和后面的說明符組成,如類名、函數(shù)名和參數(shù)化的參數(shù),用::字符分隔。

要在模塊中運(yùn)行特定測試:

pytest test_mod.py::test_func

在命令行中指定測試方法的另一個示例:

pytest test_mod.py::TestClass::test_method

通過標(biāo)記表達(dá)式運(yùn)行測試

pytest -m slow

將運(yùn)行所有用@pytest.mark.slow裝飾器裝飾的測試。

有關(guān)詳細(xì)信息,請參閱標(biāo)記。

從包運(yùn)行測試

pytest --pyargs pkg.testing

這將導(dǎo)入pkg.testing并使用其文件系統(tǒng)位置來查找和運(yùn)行測試。

獲取版本、選項名稱、環(huán)境變量的幫助

pytest --version?# shows where pytest was imported from

pytest --fixtures?# show available builtin function arguments

pytest -h | --help?# show help on command line and config file options

分析測試執(zhí)行持續(xù)時間

在 6.0 版中更改。

要獲得超過 1.0 秒的最慢 10 個測試持續(xù)時間的列表:

pytest --durations=10?--durations-min=1.0

默認(rèn)情況下,pytest 不會顯示太小(<0.005s)的測試持續(xù)時間,除非-vv在命令行上傳遞。

管理插件的加載

早期加載插件

-p您可以使用以下選項在命令行中顯式地提前加載插件(內(nèi)部和外部) :

pytest?-p?mypluginmodule

該選項接收一個name參數(shù),可以是:

  • 完整的模塊名稱,例如myproject.plugins.?這個帶點(diǎn)的名稱必須是可導(dǎo)入的。

  • 插件的入口點(diǎn)名稱。setuptools這是插件注冊時傳遞給的名稱。例如,要提前加載pytest-cov插件,您可以使用:

  • pytest?-p?pytest_cov

禁用插件

要在調(diào)用時禁用加載特定插件,請將該-p選項與前綴一起使用no:。

示例:要禁用加載doctest負(fù)責(zé)從文本文件執(zhí)行 doctest 測試的插件,請像這樣調(diào)用 pytest:

pytest -p no:doctest

調(diào)用 pytest 的其他方式

您可以從命令行通過 Python 解釋器調(diào)用測試:

python -m pytest [...]

這幾乎等同于?直接調(diào)用命令行腳本,只是調(diào)用 via還會將當(dāng)前目錄添加到.pytest?[...]pythonsys.path

從 Python 代碼調(diào)用 pytest?

retcode?=?pytest.main()


這就像您從命令行調(diào)用“pytest”一樣。它不會引發(fā)SystemExit而是返回退出代碼。您可以傳入選項和參數(shù):

retcode?=?pytest.main(["-x",?"mytestdir"])

您可以指定其他插件pytest.main:

# content of myinvoke.py

import?sys

import?pytest

class?MyPlugin:

? ? def?pytest_sessionfinish(self):

????? ? ?print("*** test run reporting finishing")


if?__name__?==?"__main__":

? ??sys.exit(pytest.main(["-qq"], plugins=[MyPlugin()]))


運(yùn)行它將顯示MyPlugin已添加并調(diào)用了它的鉤子:

$ python myinvoke.py

*** test run reporting finishing

筆記

調(diào)用pytest.main()將導(dǎo)致導(dǎo)入您的測試和它們導(dǎo)入的任何模塊。由于 python 導(dǎo)入系統(tǒng)的緩存機(jī)制,pytest.main()從同一進(jìn)程進(jìn)行后續(xù)調(diào)用不會反映調(diào)用之間對這些文件的更改。因此,pytest.main()不建議從同一進(jìn)程多次調(diào)用(例如,為了重新運(yùn)行測試)。

更多案例,更多內(nèi)容,請點(diǎn)擊

請加入同樂學(xué)堂:61672-7690(Q)

https://edu.csdn.net/course/detail/37237

https://edu.51cto.com/course/32569.html

1-Pytest全棧自動化測試指南- 運(yùn)行的評論 (共 條)

分享到微博請遵守國家法律
和平区| 昌都县| 梓潼县| 虹口区| 东安县| 封开县| 长寿区| 康平县| 维西| 洪雅县| 合水县| 阿瓦提县| 玉田县| 手游| 安阳县| 永靖县| 竹溪县| 腾冲县| 曲阳县| 永春县| 新巴尔虎左旗| 同江市| 垣曲县| 阜宁县| 前郭尔| 连江县| 淳安县| 永嘉县| 图片| 白山市| 灵山县| 大足县| 肃北| 和林格尔县| 马鞍山市| 张家港市| 当涂县| 林甸县| 灵石县| 闻喜县| 咸丰县|