天天看點

001、pytest安裝和第一個demo

    

 pytest 可以用來做 系統測試 的自動化, 它的特點有

  • 用 Python 編寫測試用例,簡便易用
  • 可以用 檔案系統目錄層次 對應 手工測試用例 層次結構
  • 靈活的 初始化清除 機制
  • 可以靈活挑選測試用例執行
  • 利用第三方插件,可以生成不錯的報表

pytest 用例規則

  • 測試檔案以  test_  開頭(以  _test結尾  也可以)
  • 測試類以  Test開頭,并且不能帶有 

    __init__

     方法
  • 測試函數以  test_  開頭
  • 斷言使用  assert
  • 所有的包pakege必須要有   __init__.py 檔案

pytest運作規則:

  項目目錄下運作 pytest —> 尋找 目前目錄及子目錄下以 test_*.py 或  *_test.py 的檔案 —> 尋找  Test開頭的類 —> 尋找以 test開頭函數 。

1、安裝

  虛拟環境安裝, 按住 ctrl + alt + s 彈出如下界面,并按箭頭訓示選擇,安裝成功後會顯示 installed successfully。

  

001、pytest安裝和第一個demo

我們還需要産生測試報表,是以要安裝一個第三方插件 

pytest-html

 ,方法同上。

 2、快速開始

1.建立一個test_sample.py檔案,寫以下代碼:

# -*- coding:utf-8 -*-
# @Author:  Sky
# @Email:   [email protected]
# @Time:    2021/7/13 14:55

def func(x):
    return x +1


def test_answer():
    assert func(3) == 5      

2.打開test_sample.py所在的目錄(test_01),cmd視窗輸入:pytest(或者輸入py.test也可以)

001、pytest安裝和第一個demo

3、pytest運作規則

  項目目錄下運作 pytest —> 尋找 目前目錄及子目錄下以 test_*.py 或  *_test.py 的檔案 —> 尋找  Test開頭的類 —> 尋找以 test開頭函數 。

寫個測試類

1、前面是寫的一個test開頭的測試函數,當用例有多個的時候,寫函數就不太合适了。這時可以把多個測試用例,寫到一個測試類裡。

# test_class.py

class TestClass:
    def test_one(self):
        x = "this"
        assert 'h' in x

    def test_two(self):
        x = "hello"
        assert hasattr(x, 'check')       

說明:  hasattr(object, name)

             判斷一個對象裡面是否有name屬性或者name方法,傳回BOOL值,有name特性傳回True, 否則傳回False 。

             需要注意的是name要用括号括起來 。

2、 如果隻想運作其中一個 (test_*.py  和  *_test.py),可以指定傳遞檔案名test_class.py  ( 相對路徑 或 絕對路徑 )來運作子產品 :

       pytest -q .\test_sample.py