测试用例setup和teardown

前言:最近在学pytest、故做点笔记。

1、学过unittest的都知道setup和teardown。前置和后置的意思。(在每个用例前后执行一次。)

  比之用的少一点的还有setupclass和teardownclass,需要配合@classmethod装饰器一起使用。(在所有用例前后总共各执行一次。)

2、pytest也有类似的语法。并且种类更多。按照用例运行级别可以分为以下几类:

  *模块级(setup_module/teardown_module):开始于模块始末,作用于全局(总用各执行一次。)

  *函数级(setup_function/teardown_function):仅对函数用例生效。(即不在类中。每个函数执行一次)

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

  *方法级(setup_method/teardown_method):开始于方法始末(在类中。每个方法执行一次)

  *类里面的(setup/teardown):运行在调用方法的前后(每个方法执行一次)

  注:类里面按优先级排序的话:setup_class > setup_method > setup >用例> teardown > teardown_method > teardown_class(即执行顺序)

  

3、下面通过几个例子加深一下印象:

  3.1:

  测试用例setup和teardown_第1张图片

  运行结果如下:

  测试用例setup和teardown_第2张图片

  由上图也可知:在类里面。运行顺序为:setup_class > setup_method > setup >用例> teardown > teardown_method > teardown_class

  3.2:

  测试用例setup和teardown_第3张图片

  结果执行如下:

  测试用例setup和teardown_第4张图片

  通过上图。我们可以得知。setup/teardown_module优先级是最大的。其次。函数里面用到的setup/teardown_function与类里面的setup/teardown_class互不干涉,互不影响。

  具体使用就看业务来了!

 

  

转载于:https://www.cnblogs.com/cbslock/p/10150266.html

你可能感兴趣的:(测试用例setup和teardown)