Pytest框架學習1 基本規則

2021-09-25 12:10:03 字數 1521 閱讀 8483

學習內容來自 對自動化大師悠悠的總結1.pytest執行規則:**查詢當前目錄及其子目錄下以test_*.py或*_test.py檔案,找到檔案後,在檔案中找到以test開頭函式並執行。**

2.命令列下執行pytest或py.test或python -m pytest

3.通過pytest -q test_a.py 可以僅執行 test_a.py中以test開頭的函式

4.測試類必須以test開頭,並且不能帶有 init 方法

5.測試函式以test開頭

6.所有的包pakege必須要有__init__.py檔案

7.執行某乙個py檔案下用例 pytest 指令碼名稱.py

8.-k 按關鍵字匹配 pytest -k "class and not two"將不會執行test_sample下的測試指令碼和test_two這個方法

9.pytest test_mod.py::testclass::test_method執行test_mod.py下testclass下的test_method方法

10.pytest -x 遇到錯誤時停止測試

11.pytest --maxfail=2錯誤數量最大等於2時停止測試

12.以pytest方式執行,需要改該工程設定預設的執行器:file->setting->tools->python integrated tools->專案名稱->default test runner->選擇py.test

注意是先改專案執行方式,再寫**才能出來

13. 執行結果「.f. 」 點是代表測試通過,f是fail的意思,1 warnings是用於pytest.main('-q test_class.py')裡面引數需要傳list,多個引數放list就不會有警告了

目錄結構:

測試指令碼如下

test_class.py

class testclass:

def test_one(self):

print 'one'

x = "this"

assert 'h' in x

def test_two(self):

print 'two'

x = "hello"

assert hasattr(x, 'check')

if __name__ == '__main__':

pytest.main(['-q','test_class.py'])

test_sample.py

#!usr/bin/python

# -*- coding: utf-8 -*-

def func(x):

return x + 1

def test_answer():

assert func(3) == 5

pytest測試框架1 強大的Fixture功能

1.fixture是 幹什麼用的?fixture是在測試函式執行前後,由pytest執行的外殼函式 可以定製,滿足多變的測試需求 包括定義傳入測試中的資料集,配置測試前系統的初始狀態,為批量測試提供資料來源等等.fixture是pytest用於將測試前後進行預備,清理工作的 分離出核心測試邏輯的一種...

html學習 基本規則

1 html是什麼 通俗來講,html是一種用來寫 的程式語言。2 html基本文件 文件標題title head 可見文字.body html title 就是這個網頁的名字 body中的內容就是網頁顯示的內容。3 基本標籤 這是我的地盤div 對網頁中的內容進行分片的,也就是畫個地盤 h4 h5...

pytest單元測試框架 學習筆記(一)

舉個栗子 1 建立乙個test sample.py檔案 2 如下 def inc x return x 1 def test answer1 assert inc 3 4 def test answer2 assert inc 3 5 3 執行測試用例 1 在cmd或者控制台terminal執行 切...