持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第3天,点击查看活动详情
测试准备及清理
Test Fixtures测试装置,测试准备及清理方法。正常来说,每一条用例都需要一定的预置条件和测试数据的准备,如果一条自动化用例对测试环境或者测试数据进行的修改等操作产生了新的数据,应该对环境还换,对产生的数据清理。在测试框架中,这种准备方法叫做setup,清理方法叫做teardown,这两种方法统称为Test Fixtures,又叫夹具,像一个夹子一样把测试用例夹在中间。
1、内置setup和teardown
Pytest支持不同范围的测试准备(setup)和测试清理(teardown)方法。pytest中的测试准备和测试清理方法分为:模块级,类级和函数、方法级。
setup_module()和teardown_module():模块级别的测试准备和测试清理,在整个测试模块下所有的用例执行前执行一次setup()方法,在所有用例执行完后执行一次teardown()方法。
def setup_model():
print("模块级别的测试准备工作")
def teardown_model():
print("模块级别的测试清理工作")
setup_class()和teardown_class():类级别的测试准备和测试清理,一个测试类各执行一次,在类下的所有用例执行前执行一次setup_class()方法,在这个类所有用例执行完后执行一次teardown_class()方法,如果运行了多个测试类,setup_class()方法和teardown_class()方法就会执行多次。
def setup_class():
print("类级别的测试准备工作")
def teardown_class():
print("类级别的测试清理工作")
setup_function()和teardown_function():函数级别的测试准备和测试清理,每一个测试函数下的用例执行前会执行一次setup_function()方法,用例执行完后执行一次teardown_function()方法,运行多少个测试函数setup_function()和teardown_function()方法就会各被运行多少次。
def setup_function():
print("函数级别的测试准备工作")
def teardown_function():
print("函数级别的测试清理工作")
setup_method()和teardown_method():方法级别的测试准备和测试清理,每一个测试用例执行前都要执行一次setup_method()方法,每个用例执行完后要执行一次teardown_method()方法,有多少条用例要执行,setup_method()和teardown_method()方法就会各被执行多少次
def setup_method():
print("方法级别的测试准备工作")
def teardown_method():
print("方法级别的测试清理工作")