目錄:
- 安裝及入門
- 使用和調(diào)用方法
- 原有TestSuite使用方法
- 斷言的編寫和報(bào)告
- Pytest fixtures:清晰 模塊化 易擴(kuò)展
- 使用Marks標(biāo)記測試用例
- Monkeypatching/對模塊和環(huán)境進(jìn)行Mock
- 使用tmp目錄和文件
- 捕獲stdout及stderr輸出
- 捕獲警告信息
- 模塊及測試文件中集成doctest測試
- skip及xfail: 處理不能成功的測試用例
- Fixture方法及測試用例的參數(shù)化
- 緩存: 使用跨執(zhí)行狀態(tài)
- unittest.TestCase支持
- 運(yùn)行Nose用例
- 經(jīng)典xUnit風(fēng)格的setup/teardown
- 安裝和使用插件
- 插件編寫
- 編寫鉤子(hook)方法
- 運(yùn)行日志
- API參考
- 優(yōu)質(zhì)集成實(shí)踐
- 片狀測試
- Pytest導(dǎo)入機(jī)制及sys.path/PYTHONPATH
- 配置選項(xiàng)
- 示例及自定義技巧
- Bash自動(dòng)補(bǔ)全設(shè)置
API參考-Objects
對象(Objects)
CallInfo
*class *CallInfo
[source]
結(jié)果/異常信息是一個(gè)函數(shù)調(diào)用。
Class
*class *Class
[source]
基地: _pytest.python.PyCollector
收集器的測試方法衷咽。
collect
()[來源]
返回此集合節(jié)點(diǎn)的子項(xiàng)(項(xiàng)和收集器)列表骂租。
Collector
*class *Collector
[source]
基地: _pytest.nodes.Node
收集器實(shí)例通過collect()創(chuàng)建子項(xiàng)银择,從而迭代地構(gòu)建樹邮旷。
異常CollectError
[來源]
基地: Exception
收集期間出錯(cuò)孤里,包含自定義消息伏伯。
collect
()[來源]
返回此集合節(jié)點(diǎn)的子項(xiàng)(項(xiàng)和收集器)列表。
repr_failure
(*excinfo *)[來源]
表示集合失敗捌袜。
配置
class Config
[source]
訪問配置值说搅,pluginmanager和插件鉤子。
option
=無
訪問命令行選項(xiàng)作為屬性虏等。(已棄用)弄唧,請getoption()
改用
pluginmanager
=無
一個(gè)pluginmanager實(shí)例
add_cleanup
(*func *)[來源]
添加一個(gè)在配置對象不使用時(shí)調(diào)用的函數(shù)(通常與pytest_unconfigure一致)。
classmethod fromdictargs
(option_dict霍衫,*args *)[source]
構(gòu)造函數(shù)可用于子進(jìn)程候引。
addinivalue_line
(名稱,行)[來源]
在ini-file選項(xiàng)中添加一行敦跌。該選項(xiàng)必須已聲明但可能尚未設(shè)置澄干,在這種情況下,該行將成為其值中的第一行。
getini
(姓名)[來源]
從ini文件返回配置值麸俘。如果未通過先前parser.addini
調(diào)用(通常來自插件)注冊指定的名稱 辩稽,則會(huì)引發(fā)ValueError。
从媚,skip = False *)[source]
返回命令行選項(xiàng)值搂誉。
<colgroup><col class="field-name" style="hyphens: manual;"><col class="field-body"></colgroup>
| 參數(shù): |
-
name - 選項(xiàng)的名稱。您也可以指定文字
--OPT
選項(xiàng)而不是“dest”選項(xiàng)名稱静檬。 - default - 如果不存在該名稱的選項(xiàng)炭懊,則為默認(rèn)值。
-
skip - 如果選項(xiàng)不存在或具有None值拂檩,則為true raise pytest.skip侮腹。
|
getvalue
(name,*path = None *)[來源]
(不推薦使用稻励,請使用getoption())
getvalueorskip
(name父阻,*path = None *)[來源]
(不推薦使用,使用getoption(skip = True))
異常信息
class ExceptionInfo
(excinfo望抽,striptext =''加矛,*traceback = None *)[來源]
包裝sys.exc_info()對象并提供導(dǎo)航回溯的幫助。
*classmethod from_current
(exprinfo = None *)[來源]
返回與當(dāng)前回溯匹配的ExceptionInfo
警告
實(shí)驗(yàn)API
<colgroup><col class="field-name" style="hyphens: manual;"><col class="field-body"></colgroup>
| 參數(shù): | exprinfo - 一個(gè)文本字符串煤篙,幫助確定我們是否應(yīng)該AssertionError
從輸出中剝離斟览,默認(rèn)為異常消息/__str__()
|
*classmethod *for_later
()[source]
返回一個(gè)未填充的ExceptionInfo
type
異常類
value
異常值
tb
異常原始追溯
typename
異常的類型名稱
traceback
追溯
exconly
(*tryshort = False *)[來源]
將異常作為字符串返回
當(dāng)'tryshort'解析為True,異常是_pytest._code._AssertionError時(shí)辑奈,只返回異常表示的實(shí)際異常部分(因此'AssertionError:'從頭開始刪除)
errisinstance
(*exc *)[來源]
如果異常是exc的實(shí)例苛茂,則返回True
getrepr
(showlocals = False,style ='long'鸠窗,abspath = False妓羊,tbfilter = True,funcargs = False稍计,truncate_locals = True躁绸,*chain = True *)[來源]
返回str()表示此異常信息。
<colgroup><col class="field-name" style="hyphens: manual;"><col class="field-body"></colgroup>
| 參數(shù): |
-
showlocals(bool) - 顯示每個(gè)回溯條目的本地人臣嚣。忽略如果
style=="native"
净刮。 - style(str) - long | short | no | native traceback style
- abspath(bool) - 如果路徑應(yīng)更改為絕對路徑或保持不變。
-
tbfilter(bool) - 隱藏包含局部變量的條目
__tracebackhide__==True
茧球。忽略如果style=="native"
庭瑰。 - funcargs(bool) - 為每個(gè)回溯條目顯示固定裝置(用于傳統(tǒng)目的的“funcargs”)。
-
truncate_locals(bool) - 使用
showlocals==True
抢埋,確保本地可以安全地表示為字符串弹灭。 -
chain(bool) - 如果顯示Python 3中的鏈接異常督暂。
|
在版本3.9中更改:添加了chain
參數(shù)。
match
(*regexp *)[來源]
將正則表達(dá)式'regexp'與異常的字符串表示形式匹配穷吮。如果匹配則返回True(這樣就可以寫'assert excinfo.match()')逻翁。如果不匹配則引發(fā)AssertionError。
FixtureDef
*class *FixtureDef
[source]
基地: object
工廠定義的容器捡鱼。
FSCollector
*class *FSCollector
[source]
基地: _pytest.nodes.Collector
功能
class Function
[source]
基地:_pytest.python.FunctionMixin
八回,_pytest.nodes.Item
,_pytest.compat.FuncargnamesCompatAttr
功能項(xiàng)負(fù)責(zé)設(shè)置和執(zhí)行Python測試功能驾诈。
originalname
=無
原始函數(shù)名稱缠诅,沒有任何裝飾(例如參數(shù)"[...]"
化為函數(shù)名稱添加后綴)。
3.0版中的新功能乍迄。
function
底層python'函數(shù)'對象
runtest
()[來源]
執(zhí)行基礎(chǔ)測試功能管引。
setup
()[來源]
執(zhí)行此測試功能的設(shè)置。
項(xiàng)目
class Item
[source]
基地: _pytest.nodes.Node
一個(gè)基本的測試調(diào)用項(xiàng)闯两。請注意褥伴,對于單個(gè)函數(shù),可能存在多個(gè)測試調(diào)用項(xiàng)漾狼。
user_properties
=無
user屬性是一個(gè)元組列表(名稱重慢,值),用于保存此測試的用戶定義屬性逊躁。
add_report_section
(何時(shí)似踱,關(guān)鍵,內(nèi)容)[來源]
添加一個(gè)新的報(bào)表部分志衣,類似于內(nèi)部完成添加stdout和stderr捕獲的輸出:
item.add_report_section("call", "stdout", "report section contents")
<colgroup><col class="field-name" style="hyphens: manual;"><col class="field-body"></colgroup>
| 參數(shù): |
-
當(dāng)(STR) -一個(gè)可能捕獲的狀態(tài)屯援,
"setup"
,"call"
念脯,"teardown"
。 -
key(str) - 部分名稱弯淘,可以隨意定制绿店。Pytest使用
"stdout"
和"stderr"
內(nèi)部。 -
content(str) - 作為字符串的完整內(nèi)容庐橙。
|
MarkDecorator
*class MarkDecorator
(mark *)[source]
測試函數(shù)和測試類的裝飾器假勿。應(yīng)用時(shí),它將創(chuàng)建MarkInfo
可以通過鉤子作為項(xiàng)目關(guān)鍵字檢索的對象 态鳖。MarkDecorator實(shí)例通常是這樣創(chuàng)建的:
mark1 = pytest.mark.NAME # simple MarkDecorator
mark2 = pytest.mark.NAME(name1=value) # parametrized MarkDecorator
然后可以作為裝飾器應(yīng)用于測試功能:
@mark2
def test_function():
pass
調(diào)用MarkDecorator實(shí)例時(shí)转培,它會(huì)執(zhí)行以下操作:
- 如果使用單個(gè)類作為其唯一的位置參數(shù)調(diào)用而沒有其他關(guān)鍵字參數(shù),則它會(huì)將自身附加到類浆竭,以便自動(dòng)應(yīng)用于該類中的所有測試用例浸须。
- 如果使用單個(gè)函數(shù)作為唯一的位置參數(shù)調(diào)用而沒有其他關(guān)鍵字參數(shù)惨寿,則會(huì)將MarkInfo對象附加到函數(shù),其中包含已存儲(chǔ)在MarkDecorator內(nèi)部的所有參數(shù)删窒。
- 當(dāng)在任何其他情況下調(diào)用時(shí)裂垦,它執(zhí)行“假構(gòu)造”調(diào)用,即它返回一個(gè)新的MarkDecorator實(shí)例肌索,其原始MarkDecorator的內(nèi)容使用傳遞給此調(diào)用的參數(shù)進(jìn)行更新蕉拢。
注意:上述規(guī)則阻止MarkDecorator對象僅存儲(chǔ)單個(gè)函數(shù)或類引用作為其位置參數(shù),而不包含其他關(guān)鍵字或位置參數(shù)诚亚。
name
mark.name的別名
args
mark.args的別名
kwargs
mark.kwargs的別名
with_args
(** args晕换,** kwargs *)[來源]
返回添加了額外參數(shù)的MarkDecorator
與調(diào)用不同,即使唯一參數(shù)是可調(diào)用/類站宗,也可以使用它
<colgroup><col class="field-name" style="hyphens: manual;"><col class="field-body"></colgroup>
| 返回: | MarkDecorator |
MarkGenerator
*class *MarkGenerator
[source]
MarkDecorator
對象的工廠- 作為pytest.mark
單例實(shí)例公開闸准。例:
import pytest
@pytest.mark.slowtest
def test_function():
pass
將在MarkInfo
對象上設(shè)置一個(gè)“最慢” 的test_function
對象。
馬克
class Mark
(name:str份乒,args恕汇,*kwargs *)[來源]
name
=無
商標(biāo)名稱
args
=無
標(biāo)記裝飾器的位置參數(shù)
kwargs
=無
標(biāo)記裝飾器的關(guān)鍵字參數(shù)
combined_with
(其他)[來源]
<colgroup><col class="field-name" style="hyphens: manual;"><col class="field-body"></colgroup>
| 參數(shù): | 其他(馬克) - 與之結(jié)合的商標(biāo) |
| 返回類型: | 標(biāo)記 |
通過附加aargs和合并映射來組合
Metafunc
class Metafunc
(definition,fixtureinfo或辖,config瘾英,cls = None,module = None )[來源]
Metafunc對象被傳遞給pytest_generate_tests
鉤子颂暇。它們有助于檢查測試功能并根據(jù)測試配置或在定義測試功能的類或模塊中指定的值生成測試缺谴。
config
=無
訪問_pytest.config.Config
測試Session的對象
module
=無
定義測試函數(shù)的模塊對象。
function
=無
底層python測試功能
fixturenames
=無
測試功能所需的夾具名稱集
cls
=無
在或中定義測試函數(shù)的類對象None
耳鸯。
parametrize
(argnames湿蛔,argvalues,indirect = False县爬,ids = None阳啥,*scope = None *)[來源]
使用給定argnames的argvalues列表向基礎(chǔ)測試函數(shù)添加新調(diào)用。在收集階段執(zhí)行參數(shù)化财喳。如果您需要設(shè)置昂貴的資源察迟,請參閱設(shè)置間接,以便在測試設(shè)置時(shí)進(jìn)行耳高。
<colgroup><col class="field-name" style="hyphens: manual;"><col class="field-body"></colgroup>
| 參數(shù): |
- argnames - 以逗號(hào)分隔的字符串扎瓶,表示一個(gè)或多個(gè)參數(shù)名稱,或參數(shù)字符串的列表/元組泌枪。
- argvalues - argvalues列表確定使用不同參數(shù)值調(diào)用測試的頻率概荷。如果只指定了一個(gè)argname,則argvalues是值列表碌燕。如果指定了N個(gè)argnames误证,則argvalues必須是N元組的列表继薛,其中每個(gè)tuple-element為其各自的argname指定一個(gè)值。
- indirect - argnames或boolean的列表雷厂。參數(shù)列表名稱(argnames的子集)惋增。如果為True,則列表包含argnames中的所有名稱改鲫。對應(yīng)于此列表中的argname的每個(gè)argvalue將作為request.param傳遞到其各自的argname fixture函數(shù)诈皿,以便它可以在測試的設(shè)置階段而不是在收集時(shí)執(zhí)行更昂貴的設(shè)置。
- ids - 字符串ID列表或可調(diào)用的列表像棘。如果字符串稽亏,則每個(gè)字符串對應(yīng)于argvalues,以便它們是測試ID的一部分缕题。如果將None作為特定測試的id給出截歉,則將使用該參數(shù)的自動(dòng)生成的id。如果是可調(diào)用的烟零,它應(yīng)該采用一個(gè)參數(shù)(單個(gè)argvalue)并返回一個(gè)字符串或返回None瘪松。如果為None,將使用該參數(shù)的自動(dòng)生成的id锨阿。如果沒有提供id宵睦,它們將自動(dòng)從argvalues生成。
-
范圍 - 如果指定墅诡,則表示參數(shù)的范圍壳嚎。范圍用于按參數(shù)實(shí)例對測試進(jìn)行分組。它還將覆蓋任何fixture函數(shù)定義的范圍末早,允許使用測試上下文或配置設(shè)置動(dòng)態(tài)范圍烟馅。
|
模塊
*class *Module
[source]
基地:_pytest.nodes.File
,_pytest.python.PyCollector
測試類和函數(shù)的收集器然磷。
collect
()[來源]
返回此集合節(jié)點(diǎn)的子項(xiàng)(項(xiàng)和收集器)列表郑趁。
節(jié)點(diǎn)
class Node
[source]
Collector的基類和測試集合樹的Item。收集器子類有子節(jié)點(diǎn)姿搜,Items是終端節(jié)點(diǎn)穿撮。
name
=無
父節(jié)點(diǎn)范圍內(nèi)的唯一名稱
parent
=無
父收集器節(jié)點(diǎn)。
config
=無
pytest配置對象
session
=無
此節(jié)點(diǎn)所屬的Session
fspath
=無
收集此節(jié)點(diǎn)的文件系統(tǒng)路徑(可以是None)
keywords
=無
從所有范圍收集的關(guān)鍵字/標(biāo)記
own_markers
=無
屬于此節(jié)點(diǎn)的標(biāo)記對象
extra_keyword_matches
=無
允許添加額外的關(guān)鍵字以用于匹配
ihook
用于調(diào)用pytest鉤子的fspath敏感鉤子代理
warn
(警告)[來源]
發(fā)出此項(xiàng)目的警告痪欲。
除非明確禁止,否則將在測試Session后顯示警告
<colgroup><col class="field-name" style="hyphens: manual;"><col class="field-body"></colgroup>
| 參數(shù): | 警告(警告) - 要發(fā)出的警告實(shí)例攻礼。必須是PytestWarning的子類业踢。 |
| 舉: | ValueError - 如果warning
實(shí)例不是PytestWarning的子類。 |
用法示例:
node.warn(PytestWarning("some message"))
nodeid
a :: - 表示其集合樹地址的分隔字符串礁扮。
listchain
()[來源]
從收集樹的根開始返回所有父收集器的列表知举。
add_marker
(marker瞬沦,*append = True *)[來源]
動(dòng)態(tài)地將標(biāo)記對象添加到節(jié)點(diǎn)。
<colgroup><col class="field-name" style="hyphens: manual;"><col class="field-body"></colgroup>
| 參數(shù): | 標(biāo)記(str
或pytest.mark.*
對象) - append=True
是否附加標(biāo)記雇锡,如果False
插入位置0
逛钻。 |
iter_markers
(名稱=無)[來源]
<colgroup><col class="field-name" style="hyphens: manual;"><col class="field-body"></colgroup>
| 參數(shù): | name - 如果給定,則按name屬性過濾結(jié)果 |
迭代節(jié)點(diǎn)的所有標(biāo)記
*for ... in iter_markers_with_node
(name = None *)[來源]
<colgroup><col class="field-name" style="hyphens: manual;"><col class="field-body"></colgroup>
| 參數(shù): | name - 如果給定锰提,則按name屬性過濾結(jié)果 |
迭代節(jié)點(diǎn)的所有標(biāo)記返回元組序列(節(jié)點(diǎn)曙痘,標(biāo)記)
get_closest_marker
(名稱,默認(rèn)=無)[來源]
返回與名稱匹配的第一個(gè)標(biāo)記立肘,從最近(例如函數(shù))到更遠(yuǎn)級別(例如模塊級別)边坤。
<colgroup><col class="field-name" style="hyphens: manual;"><col class="field-body"></colgroup>
| 參數(shù): |
- 默認(rèn) - 找不到標(biāo)記的回退返回值
-
name - 要過濾的名稱
|
listextrakeywords
()[來源]
在self和任何父母中返回一組所有額外的關(guān)鍵字。
addfinalizer
(*fin *)[來源]
在最終確定此節(jié)點(diǎn)時(shí)注冊要調(diào)用的函數(shù)谅年。
只有在此節(jié)點(diǎn)在設(shè)置鏈中處于活動(dòng)狀態(tài)時(shí)才能調(diào)用此方法茧痒,例如在self.setup()期間。
getparent
(*cls *)[來源]
獲取下一個(gè)父節(jié)點(diǎn)(包括ownelf)融蹂,它是給定類的一個(gè)實(shí)例
解析器
class Parser
[source]
解析命令行參數(shù)和ini文件值旺订。
<colgroup><col class="field-name" style="hyphens: manual;"><col class="field-body"></colgroup>
| 變量: | extra_info - 泛型參數(shù)的字典 - >在處理命令行參數(shù)時(shí)出錯(cuò)的情況下顯示的值。 |
getgroup
(name超燃,description =''区拳,*after = None *)[來源]
獲取(或創(chuàng)建)命名選項(xiàng)組淋纲。
<colgroup><col class="field-name" style="hyphens: manual;"><col class="field-body"></colgroup>
| 名稱: | 選項(xiàng)組的名稱劳闹。 |
| 描述: | -help輸出的長描述。 |
| 后: | 其他組的名稱洽瞬,用于排序-help輸出本涕。 |
返回的組對象具有addoption
與簽名相同的方法,parser.addoption
但將在輸出中的相應(yīng)組中顯示伙窃。pytest. --help
addoption
(** opts菩颖,** attrs *)[來源]
注冊命令行選項(xiàng)。
<colgroup><col class="field-name" style="hyphens: manual;"><col class="field-body"></colgroup>
| 選擇采用: | 選項(xiàng)名稱为障,可以是短期或長期期權(quán)晦闰。 |
| ATTRS: | 相同的屬性,其中add_option()
所述的功能 argparse庫 接受鳍怨。 |
在命令行解析選項(xiàng)在pytest配置對象上可用之后config.option.NAME
呻右,NAME
通常通過傳遞dest
屬性來設(shè)置,例如 鞋喇。addoption("--long", dest="NAME", ...)
parse_known_args
(args声滥,*namespace = None *)[來源]
此時(shí)解析并返回具有已知參數(shù)的命名空間對象。
parse_known_and_unknown_args
(args侦香,*namespace = None *)[來源]
解析并返回具有已知參數(shù)的名稱空間對象落塑,此時(shí)其余參數(shù)未知纽疟。
addini
(name,help憾赁,type = None污朽,*default = None *)[source]
注冊ini文件選項(xiàng)。
<colgroup><col class="field-name" style="hyphens: manual;"><col class="field-body"></colgroup>
| 名稱: | ini-variable的名稱 |
| 類型: | 該變量的類型龙考,可以是pathlist
蟆肆,args
,linelist
或bool
洲愤。 |
| 默認(rèn): | 默認(rèn)值颓芭,如果不存在ini-file選項(xiàng)但是被查詢。 |
可以通過調(diào)用來檢索ini變量的值 config.getini(name)
柬赐。
插件管理
class PluginManager
[source]
Core Pluginmanager類亡问,用于管理插件對象的注冊和1:N鉤子調(diào)用。
您可以通過致電注冊新的掛鉤add_hookspec(module_or_class)
肛宋。您可以通過調(diào)用注冊插件對象(包含掛鉤) register(plugin)
州藕。Pluginmanager初始化為在注冊的插件對象的dict名稱中搜索的前綴。
出于調(diào)試目的酝陈,您可以調(diào)用enable_tracing()
哪個(gè)隨后將調(diào)試信息發(fā)送到跟蹤幫助程序床玻。
register
(插件,名稱=無)[來源]
如果名稱被阻止注冊沉帮,請注冊插件并返回其規(guī)范名稱或無锈死。如果插件已注冊,則引發(fā)ValueError穆壕。
unregister
(plugin = None待牵,*name = None *)[來源]
從內(nèi)部數(shù)據(jù)結(jié)構(gòu)取消注冊插件對象及其所有包含的鉤子實(shí)現(xiàn)。
set_blocked
(姓名)[來源]
阻止給定名稱的注冊喇勋,如果已經(jīng)注冊缨该,則注銷。
is_blocked
(姓名)[來源]
如果名稱博客注冊該名稱的插件川背,則返回True贰拿。
add_hookspecs
(*module_or_class *)[來源]
添加給定module_or_class中定義的新鉤子規(guī)范。如果相應(yīng)地修飾了功能熄云,則會(huì)識(shí)別它們膨更。
get_plugins
()[來源]
返回已注冊的插件集。
is_registered
(插件)[來源]
如果插件已經(jīng)注冊缴允,則返回True询一。
get_canonical_name
(插件)[來源]
返回插件對象的規(guī)范名稱。請注意,插件可以使用由register(plugin健蕊,name)的調(diào)用者指定的其他名稱注冊。要獲取已注冊插件的名稱踢俄,請使用get_name(plugin)
缩功。
get_plugin
(姓名)[來源]
返回給定名稱的插件或None。
has_plugin
(姓名)[來源]
如果注冊了具有給定名稱的插件都办,則返回True嫡锌。
get_name
(插件)[來源]
注冊插件的返回名稱,如果未注冊琳钉,則返回None势木。
check_pending
()[來源]
驗(yàn)證所有未針對鉤子規(guī)范驗(yàn)證的鉤子是可選的,否則引發(fā)PluginValidationError
load_setuptools_entrypoints
(組歌懒,名稱=無)[來源]
從查詢指定的setuptools加載模塊group
啦桌。
<colgroup><col class="field-name" style="hyphens: manual;"><col class="field-body"></colgroup>
| 參數(shù): |
- group(str) - 加載插件的入口點(diǎn)組
-
name(str) - 如果給定,只加載給定的插件
name
及皂。
|
| 返回類型: |
INT
|
| 返回: |
通過此調(diào)用返回加載的插件數(shù)甫男。
|
list_plugin_distinfo
()[來源]
返回所有setuptools注冊插件的distinguishedfo / plugin元組列表。
list_name_plugin
()[來源]
返回名稱/插件對的列表验烧。
get_hookcallers
(插件)[來源]
獲取指定插件的所有鉤子調(diào)用者板驳。
add_hookcall_monitoring
(之前,之后)[來源]
在所有掛鉤的跟蹤功能之前/之后添加并返回一個(gè)撤銷功能碍拆,當(dāng)被調(diào)用時(shí)若治,將刪除添加的跟蹤器。
before(hook_name, hook_impls, kwargs)
將在所有掛鉤調(diào)用之前調(diào)用并接收一個(gè)hookcaller實(shí)例感混,一個(gè)HookImpl實(shí)例列表和一個(gè)鉤子調(diào)用的關(guān)鍵字參數(shù)端幼。
after(outcome, hook_name, hook_impls, kwargs)
接收相同的參數(shù),before
但也接收一個(gè)`_Result``表示整個(gè)鉤子調(diào)用的結(jié)果的對象浩习。
enable_tracing
()[來源]
啟用對鉤子調(diào)用的跟蹤并返回撤銷功能静暂。
subset_hook_caller
(name,*remove_plugins *)[來源]
為命名方法返回一個(gè)新的_HookCaller實(shí)例谱秽,該方法管理除remove_plugins之外的所有已注冊插件的調(diào)用洽蛀。
PytestPluginManager
*class *PytestPluginManager
[source]
基地: pluggy.manager.PluginManager
覆蓋pluggy.PluginManager
以添加特定于pytest的功能:
- 從命令行加載插件,加載插件中的
PYTEST_PLUGINS
env變量和pytest_plugins
全局變量; -
conftest.py
在啟動(dòng)期間裝載;
addhooks
(*module_or_class *)[來源]
自2.8版以來已棄用疟赊。
請pluggy.PluginManager.add_hookspecs
改用郊供。
parse_hookimpl_opts
(插件,名稱)[來源]
parse_hookspec_opts
(module_or_class近哟,*name *)[來源]
register
(插件驮审,名稱=無)[來源]
如果名稱被阻止注冊,請注冊插件并返回其規(guī)范名稱或無。如果插件已注冊疯淫,則引發(fā)ValueError地来。
getplugin
(姓名)[來源]
hasplugin
(姓名)[來源]
如果注冊了具有給定名稱的插件,則返回True熙掺。
pytest_configure
(*config *)[來源]
consider_preparse
(*args *)[來源]
consider_pluginarg
(*arg *)[來源]
consider_conftest
(*conftestmodule *)[來源]
consider_env
()[來源]
consider_module
(*mod *)[來源]
import_plugin
(modname未斑,*consideration_entry_points = False *)[來源]
用插件導(dǎo)入插件modname
。如果consider_entry_points
為True币绩,則還會(huì)將入口點(diǎn)名稱視為查找插件蜡秽。
Session
*class *Session
[source]
基地: _pytest.nodes.FSCollector
異常Interrupted
基地: KeyboardInterrupt
發(fā)出中斷的測試運(yùn)行信號(hào)。
異常Failed
基地: Exception
在測試運(yùn)行失敗時(shí)發(fā)出停止信號(hào)缆镣。
*for ... in *collect
()[source]
返回此集合節(jié)點(diǎn)的子項(xiàng)(項(xiàng)和收集器)列表芽突。
TestReport
class TestReport
[source]
基本測試報(bào)告對象(如果失敗,也用于設(shè)置和拆除調(diào)用)董瞻。
nodeid
=無
規(guī)范化的集合節(jié)點(diǎn)ID
location
=無
a(filesystempath寞蚌,lineno,domaininfo)元組指示測試項(xiàng)的實(shí)際位置 - 它可能與收集的測試項(xiàng)不同力细,例如睬澡,如果方法是從不同的模塊繼承的。
keywords
=無
name - > value字典眠蚂,包含與測試調(diào)用關(guān)聯(lián)的所有關(guān)鍵字和標(biāo)記煞聪。
outcome
=無
測試結(jié)果,總是“通過”逝慧,“失敗”昔脯,“跳過”之一。
longrepr
=無
無或失敗表示笛臣。
when
=無
'setup'云稚,'call','teardown'之一表示測試階段沈堡。
user_properties
=無
user屬性是一個(gè)元組列表(名稱静陈,值),用于保存用戶定義的測試屬性
sections
=無
需要編組的額外信息對的列表诞丽。通過pytest用于添加從捕獲的文本和鲸拥,但是可以通過其它的插件可用于任意信息添加到報(bào)表。(str, str)``stdout``stderr
duration
=無
只運(yùn)行測試所花費(fèi)的時(shí)間
classmethod from_item_and_call
(item僧免,*call *)
使用標(biāo)準(zhǔn)項(xiàng)和調(diào)用信息創(chuàng)建和填充TestReport的工廠方法刑赶。
caplog
如果啟用了日志捕獲,則返回捕獲的日志行
版本3.5中的新功能懂衩。
capstderr
如果啟用了捕獲撞叨,則從stderr返回捕獲的文本
3.0版中的新功能金踪。
capstdout
如果啟用了捕獲,則從stdout返回捕獲的文本
3.0版中的新功能牵敷。
count_towards_summary
試驗(yàn)
如果此報(bào)告應(yīng)計(jì)入測試Session結(jié)束時(shí)顯示的總計(jì)胡岔,則返回True:“1通過,1失敗等”劣领。
注意
此功能被認(rèn)為是實(shí)驗(yàn)性的姐军,因此請注意即使在修補(bǔ)程序版本中它也會(huì)發(fā)生變化。
head_line
試驗(yàn)
返回此報(bào)告的longrepr輸出顯示的頭行尖淘,更常見的是在故障期間的回溯表示期間:
________ Test.foo ________
在上面的示例中,head_line是“Test.foo”著觉。
注意
此功能被認(rèn)為是實(shí)驗(yàn)性的村生,因此請注意即使在修補(bǔ)程序版本中它也會(huì)發(fā)生變化。
longreprtext
只讀屬性饼丘,返回完整的字符串表示形式longrepr
趁桃。
3.0版中的新功能。
[_result ]
class _Result
(result肄鸽,*excinfo *)
result
獲取此掛鉤調(diào)用的結(jié)果(DEPRECATED支持get_result()
)卫病。
force_result
(結(jié)果)
強(qiáng)制結(jié)果result
。
如果掛鉤被標(biāo)記為firstresult
單個(gè)值典徘,則應(yīng)設(shè)置否則設(shè)置(修改)結(jié)果列表蟀苛。調(diào)用期間發(fā)現(xiàn)的任何異常都將被刪除。
get_result
()
獲取此掛鉤調(diào)用的結(jié)果逮诲。
如果鉤子被標(biāo)記為firstresult
只有一個(gè)值帜平,則返回結(jié)果列表。