如何为单元测试套件做一个设置
How to do one setUp for a unit test suite
我有以下两个单元测试:
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
的所有单元测试进行一次设置?如果是这样,我该怎么做?
您可以使用 setupClass
:
class TestUM(unittest.TestCase):
@classmethod
def setUpClass(cls):
cls.client = SeleniumClient()
从 documentation 开始,此方法仅在 class 中的测试为 运行.
之前调用一次
我有以下两个单元测试:
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
的所有单元测试进行一次设置?如果是这样,我该怎么做?
您可以使用 setupClass
:
class TestUM(unittest.TestCase):
@classmethod
def setUpClass(cls):
cls.client = SeleniumClient()
从 documentation 开始,此方法仅在 class 中的测试为 运行.
之前调用一次