首页 > 其他 > 详细

unittest setup和tearDown 的用法

时间:2021-05-27 16:46:17      阅读:12      评论:0      收藏:0      [点我收藏+]

夹具:setup和tearDown 自动在每个测试方法之前 以及 之后, 执行额外的指令

 

在有很多个测试用的时候,他们的准备工作可能是重复的。
技术分享图片

 

 

 1. 方法级夹具

  在设置了方法级夹具的用例类中,每个测试方法前后,都会执行1次
      setUp 每个测试方法前执行
      tearDown 每次测试方法后执行

import unittest

from selenium import webdriver


class MyTestCase(unittest.TestCase):

    def setUp(self) -> None:
        # global driver
        self.driver = webdriver.Chrome()

    def tearDown(self) -> None:
        self.driver.quit()

    def test_baidu(self):
        self.driver.get("https://www.baidu.com/")

    def test_tengxun(self):
        self.driver.get("https://www.qq.com/")

    def test_puls(self):
        c = 1 + 3
        print(c)

 

2. 类级夹具

在设置了类级夹具的用例类中,每个测试类前后,都会执行1次
  setUpClass 每个测试类前执行
  tearDownClass 每次测试类后执行

   此处 @classmethod 不可省
import unittest

from selenium import webdriver


class MyTestCase(unittest.TestCase):
    @classmethod
    def setUpClass(cls) -> None:
        # global driver
        cls.driver = webdriver.Chrome()
    @classmethod
    def tearDownClass(cls) -> None:
        cls.driver.quit()

    def test_baidu(cls):
        cls.driver.get("https://www.baidu.com/")

    def test_tengxun(cls):
        cls.driver.get("https://www.qq.com/")

    def test_puls(cls):
        c = 1 + 3
        print(c)

 

3.模块级夹具

在设置了模块级夹具的用例文件中,开始和结束,都会执行1次
  setUpModule 本模块所有用例之前执行
  tearDownModule 本模块所有用例之后执行

def setUpModule() -> None:
    global driver
    driver = webdriver.Chrome()


def tearDownModule() -> None:
    driver.quit()


class MyTestCase(unittest.TestCase):
    def test_baidu(self):
        driver.get("https://www.baidu.com/")

    def test_tengxun(self):
        driver.get("https://www.qq.com/")

    def test_puls(self):
        c = 1 + 3
        print(c)


class MyTestCase2(unittest.TestCase):
    def test_baidu(self):
        driver.get("https://www.baidu.com/")

    def test_tengxun(self):
        driver.get("https://www.qq.com/")

    def test_puls(self):
        c = 1 + 3
        print(c)

 

unittest setup和tearDown 的用法

原文:https://www.cnblogs.com/amanda-yl/p/14817667.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!