一、pytest介绍
pytest是python的一种单元测试框架,与python自带的unittest测试框架类似,但是比unittest框架使用起来更简洁,效率更高。
它具有如下特点:
1.非常容易上手,入门简单,文档丰富,文档中有很多实例可以参考
2.能够支持简单的单元测试和复杂的功能测试
3.支持参数化
4.执行测试过程中可以将某些测试跳过,或者对某些预期失败的case标记成失败
5.支持重复执行失败的case
6.支持运行由nose, unittest编写的测试case
二、pytest的常用命令行选项
1. -s 表示在终端中允许测试运行的时候输出某些结果,包括任何符合标准输出信息
2. -v 输出的信息会更加详细,最明显的区别就是每个文件中的每个测试用例都占一行,测试的名字和结果都会显示出来,而不仅仅是一个点或字符
3. -q(--quiet) 该选项的作用与-v的相反,他会简化输出信息,可以和--tb=line(仅打印异常信息的代码位置)搭配使用
4. --tb=style --tb=style选项决定会捕捉到失败时输出信息的显示方式,
使用--tb=no屏蔽全部回溯信息
使用--tb=line,它可以告诉我们错误的位置
使用--tb=short,显示的回溯信息比前面两种模式的更详细
5. --collect-only 使用--collect-only选项可以展示在给定的目录下哪些测试用例会被运行,可以在测试运行之前,检查选中的测试用例是否符合预期
6. -m 标记(marker)用于标记测试并分组,以便快速选中并运行
7. -x 正常情况下,pytest会运行每一个搜索到的测试用例,如果某个测试函数被断言失败,或者触发了外部异常,则该测试用例的运行就会到此为止,pytest将其标记为失败后会继续运行下一个测试用例。通常,这就是我们期望的运行模式。但是在debug时,我们会希望遇到失败时立即停止整个会话,这时-x选项就派上用场了
8. --maxfail=num -x选项的特点是,一旦遇到测试失败,就会全局停止。假设你允许pytest失败几次后在停止,则可以使用--maxfail选项,明确指定可以失败几次
9. --lf(--last-failed) 当一个或多个测试失败时,我们常常希望能够定位到最后一个失败的测试用例重新运行,这时可以使用--lf选项
10. --ff(--failed-first) -ff选项与--last-failed选项的作用基本相同,不同之处在于--ff会运行完剩余的测试用例
注释:以上详情请查看 https://www.cnblogs.com/zouzou-busy/p/11295444.html
三、pytest框架使用规则
1.测试文件以test_开头(以_test结尾也可以)
2.测试类以Test开头,并且不能带有 __init__ 方法
3.测试函数以test_开头
4.断言使用基本的assert即可,后接表达式 例子:assert 1 == 1