pytest自动化2:测试用例setup和teardown

 前言:

pytest支持函数和类两种用例方式,针对每种情况都有不同的代码

pytest用例运行级别

  • 模块级(setup_module/teardown_module)开始于模块始末,全局的

  • 函数级(setup_function/teardown_function)只对函数用例生效(不在类中)

  • 类级(setup_class/teardown_class)只在类中前后运行一次(在类中)

  • 方法级(setup_method/teardown_method)开始于方法始末(在类中)

  • 类里面的(setup/teardown)运行在调用方法的前后

 

实例来看下

1.  函数式 setup_function/teardown_function

pytest自动化2:测试用例setup和teardown_第1张图片

运行结果:

pytest自动化2:测试用例setup和teardown_第2张图片

 

2.  模块式 setup_module/teardown_module

  pytest自动化2:测试用例setup和teardown_第3张图片

运行结果:

pytest自动化2:测试用例setup和teardown_第4张图片

敲黑板:setup_function/teardown_function和setup_module/teardown_module这四种方法是可以任意组合的,用一个和多个都可以

 

3.  类和方法

接上篇test_class1.py脚本,在类中增加setup,teardown等代码,如图

pytest自动化2:测试用例setup和teardown_第5张图片

运行结果:

pytest自动化2:测试用例setup和teardown_第6张图片

从运行结果中可以看出,运行的优先级是:setup_class>setup_method>setup>用例>teardown>teardown_method>teardown_class

敲黑板:这里setup_method和teardown_method的功能和setup/teardown功能是一样的,一般二者用其中一个即可

 

4.  函数和类混合

如果一个脚本文件中有函数用例也有方法用例,运行顺序又是怎样的呢?自己来试一下吧。

敲黑板:setup_module/teardown_module的优先级是最大的,然后函数里面用到的setup_function/teardown_function与类里面的setup_class/teardown_class互不干涉

 

ok。

转载于:https://www.cnblogs.com/cudy/p/10483829.html

你可能感兴趣的:(pytest自动化2:测试用例setup和teardown)