一、前言
虽然知道自动化脚本一般要写前后置方法,但有时还是会记不清执行顺序和具体意义。。。其中setup翻译是设置,teardown翻译是拆卸
unittest有2个前置方法和2个后置方法,分别是:
- setup()
- setupClass()
- teardown()
- teardownClass()
pytest提供了10种方法,分别是:
- 模块级别:setup_module、teardown_module
- 函数级别:setup_function、teardown_function,不在类中的方法
- 类级别:setup_class、teardown_class
- 方法级别:setup_method、teardown_method
- 方法细化级别:setup、teardown
二、实例代码
#!/usr/bin/env python # -*- coding: utf-8 -*- """ __Title__ = __Time__ = 2021/8/7 19:12 __Author__ = Isaymore __Blog__ = https://www.cnblogs.com/huainanhai/ """ import pytest def setup_module(): print("======整个.py模块开始前只执行一次:打开浏览器======") def teardown_module(): print("======整个.py模块结束后只执行一次:关闭浏览器======") def setup_function(): print("===每个函数级别用例开始前都执行setup_function===") def teardown_function(): print("===每个函数级别用例结束后都执行teardown_function===") def test_one(): print("one") def test_two(): print("two") class Testcase: def setup_class(self): print("====整个测试类开始前只执行一次setup_class====") def teardown_class(self): print("====整个测试类结束后执行一次teardown_class====") def setup_method(self): print("==类里面每个用例执行前都会执行setup_method==") def teardown_method(self): print("==类里面每个用例结束后都会执行teardown_method==") def setup(self): print("类里面每个用例执行前都会执行setup") def teardown(self): print("类里面每个用例结束后后都会执行teardown") def test_three(self): print("three") def test_four(self): print("four") if __name__ == '__main__': pytest.main(["-q","-s","-ra","test_order.py"])
执行结果:
参考链接:https://www.cnblogs.com/poloyy/p/12641991.html