hod()和 teardown_method(),在每个测试方法之前/之后执行。定义场景,比如:打开浏览器/关闭浏览器。
时间: 2024-12-10 13:49:45 浏览: 11
`setUp()` 和 `tearDown()` 是Python的unittest模块中用于测试套件中的辅助函数,它们分别会在每个测试方法执行前(`setUp()`)和执行后(`tearDown()`)自动调用。这两个函数主要用于初始化和清理资源,尤其是在涉及到需要外部环境支持(如数据库连接、网络请求、文件操作等)的测试时。
例如,在Web应用测试中,可以这样定义:
```python
from unittest import TestCase
from selenium import webdriver
class WebBrowserTests(TestCase):
@classmethod
def setUpClass(cls):
# 打开浏览器
cls.driver = webdriver.Firefox()
cls.driver.implicitly_wait(5) # 等待页面加载
@classmethod
def tearDownClass(cls):
# 关闭浏览器
cls.driver.quit()
def test_page_load(self):
self.driver.get("http://www.example.com")
assert "Example Domain" in self.driver.page_source
```
在这个例子中,`setUpClass()` 在所有测试开始前启动一个Firefox浏览器,并设置等待时间;而 `tearDownClass()` 在所有测试结束后关闭浏览器。如果某个测试方法失败,`tearDownClass()` 依然会被执行,所以通常需要处理可能出现的异常情况,防止未关闭的资源导致后续测试受影响。
阅读全文