Как сделать одну настройку для набора тестов - PullRequest
0 голосов
/ 15 декабря 2018

Для выполнения двух модульных тестов у меня есть следующее:

import unittest
from unittest import TestCase


class TestUM(unittest.TestCase):

    def setUp(self):
        self.client = SeleniumClient()

    def test_login(self):
        self.client.login()
        self.assertIn("my-data", self.client.driver.current_url)
        print ('Log in successful.')

    def test_logout(self):
        self.client.logout()
        print ('Log out successful.')


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

Однако, он делает setUp дважды - по одному разу для каждого из модульных тестов.Есть ли способ, которым я могу сделать одну настройку для всех юнит-тестов для TestUM?Если так, то как бы я это сделал?

1 Ответ

0 голосов
/ 15 декабря 2018

Для этого можно использовать setupClass:

class TestUM(unittest.TestCase):

    @classmethod
    def setUpClass(cls):
        cls.client = SeleniumClient()

Из документации этот метод вызывается только один раз перед выполнением тестов в классе.

...