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

运行结果:

 

2.  模块式 setup_module/teardown_module

  

运行结果:

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

 

3.  类和方法

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

运行结果:

从运行结果中可以看出,运行的优先级是: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。

posted @ 2019-03-06 16:02  cudy222  阅读(390)  评论(0编辑  收藏  举报