В чем разница между использованием setUp и setUpClass

Здравствуйте.
Пишу тесты на пайтоне.
Подскажите плиз, какая разница между использованием setUp и setUpClass?
Например, я могу написать так

import unittest, time
from selenium import webdriver

class check_landing_page(unittest.TestCase):
    @classmethod
    def setUpClass(cls):
        cls.driver = webdriver.Chrome()
        cls.driver.maximize_window()
        cls.driver.implicitly_wait(10)
        cls.driver.get("http://www.drive.com")               
        cls.driver.title

    def test_search_invalid(self):
        бла бла бла 


    @classmethod
    def tearDownClass(cls):
        cls.driver.close()

    if __name__ == '__main__':
        unittest.main()

или так:

import unittest, time
from selenium import webdriver

class check_landing_page(unittest.TestCase):
   
    def setUp(self):
        cls.driver = webdriver.Chrome()
        cls.driver.maximize_window()
        cls.driver.implicitly_wait(10)
        cls.driver.get("http://www.drive.com")               
        cls.driver.title

    def test_search_invalid(self):
        бла бла бла 


    def tearDown(self):
        self.driver.close()

    if __name__ == '__main__':
        unittest.main()

https://docs.python.org/2/library/unittest.html

setUp()
Method called to prepare the test fixture. This is called immediately before calling the test method; other than AssertionError or SkipTest, any exception raised by this method will be considered an error rather than a test failure. The default implementation does nothing.

setUpClass()
A class method called before tests in an individual class run. setUpClass is called with the class as the only argument and must be decorated as a classmethod():

2 лайка

Во первых, почитать мануал. А так setUp - выполняется перед каждым тестом, а setUpClass - один раз перед запуском тестов в съюте.

2 лайка

Другими словами, setUp будет вызываться перед каждой функцией-тестом? То есть, будет перезапускать окно браузера, в котором выполняется тест?

Совершенно верно.

1 лайк

я понял. спасибо большое