pytest--python的一种测试框架--pytest初阶

前言

使用pytest去做测试时我们对文件名的命名其实是有规范的,要用test_开头!!!

一、pytest初阶

python 复制代码
def test_one():
    expect=1
    actual=1
    assert expect==actual#测试专用语句:assert,识别期望与实际值是否相等

这个时候,运行结果为空是因为把他当python代码去运行了,python想运行这个函数最起码是要有个主函数调用的,常识哈。

二、然后想把它当成测试用例去跑有两种方法:

方法1

1、打开Terminal在终端上运行,用pytest关键字接测试用例的文件:

python 复制代码
def test_one():
    expect=1
    actual=1
    assert expect==actual#测试专用语句:assert,识别期望与实际值是否相等
复制代码
collected 1 item 意思是收集到一条测试用例,下一句test_one.py后面有一个绿色的点,这意味着该测试通过,下面有1 passed in 0.00s更详细的通过情况。
python 复制代码
def test_one():
    expect=1
    actual=1
    assert expect==actual#测试专用语句:assert,识别期望与实际值是否相等

def test_two():
    expect=1
    actual=2
    assert expect==actual#测试专用语句:assert,识别期望与实际值是否相等
复制代码
文件中出现多个测试用例,有对有错时,可以看到运行结果是一条失败一条通过,在0.03s内。可以看到collected 1 item 下面一条语句后面一个绿点一个红F,进度100%。

这样相对来说比较麻烦,可以看看第二种方法

方法2

第二种方法:windows点左上file进到设置里找到tools-pythonintegratedtools(pyython集成工具)-测试-选中pytest-应用-确定,即可

我们会发现,选中之后函数左边出现了绿色的三角符号,点击运行它就会运行当下这条测试用例。运行失败的还会在下面对运行结果进行分析,如图所示

三、注意

python 复制代码
def test_one():
    expect=1
    actual=1
    assert expect==actual#测试专用语句:assert,识别期望与实际值是否相等

def test_two():
    expect=1
    actual=2
    assert expect==actual#测试专用语句:assert,识别期望与实际值是否相等
def three():
    expect=1
    actual=2
    assert expect==actual

添加一个three函数再执行可以发现仍然是一通过一失败,所以说如果测试用例的方法没有用test_这样的格式命名它不会去执行,这是一个规范

相关推荐
golang学习记9 分钟前
Go 语言中和类型(Sum Types)的创新实现方案
开发语言·golang
野犬寒鸦15 分钟前
Java8 ConcurrentHashMap 深度解析(底层数据结构详解及方法执行流程)
java·开发语言·数据库·后端·学习·算法·哈希算法
兩尛15 分钟前
155最小栈/c++
开发语言·c++
百锦再20 分钟前
Java IO详解:File、FileInputStream与FileOutputStream
java·开发语言·jvm·spring boot·spring cloud·kafka·maven
Hello.Reader22 分钟前
Tauri vs Qt跨平台桌面(与移动)应用选型的“底层逻辑”与落地指南
开发语言·qt·tauri
艾醒(AiXing-w)23 分钟前
技术速递——通义千问 3.5 深度横评:纸面超越 GPT‑5.2,实测差距在哪?
人工智能·python·语言模型
xyq202426 分钟前
R语言连接MySQL数据库的详细指南
开发语言
宇木灵36 分钟前
C语言基础-六、指针
c语言·开发语言·学习·算法
喵手40 分钟前
Python爬虫实战:自动化构建 arXiv 本地知识库 - 从 PDF 下载到元数据索引!
爬虫·python·自动化·arxiv·本地知识库·pdf下载·元数据索引
百锦再40 分钟前
Java InputStream和OutputStream实现类完全指南
java·开发语言·spring boot·python·struts·spring cloud·kafka