单元测试之pytest

一、命名规则
Pytest单元测试中的类名和方法名必须是以test开头,执行中只能找到test开头的类和方法,比unittest更加严谨
案例
import pytest
from xml.dom import minidom
class TestPy01():
def testPy001(self):
print(“第一个pytest”)
assert 1==1

def testPy002(self):
    print("第二个pytest")
    assert 1==2

def testPy003(self):
    print("第三个pytest")
    assert 1 == 1

if name == ‘ main‘:
pytest.main()
二、Pytest生成自带的html测试报告
前提条件:需要下载pytest-html模块(python自带的生成测试报告模块)
pip install pytest-html
2.1 方式一
格式
pytest.main(“模块.py”)【运行指定模块下,运行所有test开头的类和测试用例】
pytest.main([“–html=./report.html”,”模块.py”])
2.2 方式二
格式
运行指定模块指定类指定用例,冒号分割,并生成测试报告
pytest.main([‘–html=./report.html’,’模块.py::类::test_a_001′])
运行指定模块指定类指定用例,冒号分割,并生成测试报告

三、Pytest的运行方式
. 点号,表示用例通过
F 表示失败 Failure
E 表示用例中存在异常 Error
四、文件读取
4.1 读取csv文件
先创建文件,然后读取
import csv #导入csv模块
class ReadCsv():
def read_csv(self):
item =[] #定义一个空列表
c = csv.reader(open(“…/commonDemo/test1.csv”,”r”)) #得到csv文件对象
for csv_i in c:
item.append(csv_i) #将获取的数据添加到列表中
return item

r = ReadCsv()
print(r.read_csv())
4.2 读取xml文件

from xml.dom import minidom
class Readxml():
def read_xml(self,filename,onename,twoname):
root =minidom.parse(filename)
firstnode =root.getElementsByTagName(onename)[0]
secondnode=firstnode.getElementsByTagName(twoname)[0].firstChild.data
return secondnode

Original: https://blog.csdn.net/weixin_50904269/article/details/119189425
Author: Crush.1
Title: 单元测试之pytest

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/776756/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球