首页 > 解决方案 > 如何为单元测试套件做一个设置

问题描述

我有以下做两个单元测试:

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?如果是这样,我该怎么做?

标签: pythonunit-testingpython-unittest

解决方案


您可以setupClass为此使用:

class TestUM(unittest.TestCase):

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

文档中,该方法仅在运行类中的测试之前调用一次。


推荐阅读