Python 中的 fixture 和 fixtures,有需要的朋友可以參考下。
Fixture是測試中的概念:
class MyTestCase(unittest.TestCase): def my_fixture_setup(self): pass def setUp(self): super(MyTestCase, self).setUp() self.my_fixture_setup()
class MyTestCase(unittest.TestCase): def my_fixture_cleanup(self): print("++++ my_cleanup") def setUp(self): super(MyTestCase, self).setUp() self.addCleanup(self.my_fixture_cleanup)
from __future__ import print_functionimport unittest class MyTestCase(unittest.TestCase): def my_fixture_setup(self): pass def my_fixture_cleanup(self): print("++++ my_cleanup") def setUp(self): super(MyTestCase, self).setUp() self.my_fixture_setup() self.addCleanup(self.my_fixture_cleanup) def tearDown(self): super(MyTestCase, self).tearDown() print("++++ tearDown") def my_cleanup(self): print("++++ my_cleanup") def test_case_1(self): print("++++ test case 1")
2 Python 中的 Fixtures 包
Fixtures(復(fù)數(shù))是Python中的一個包, 提供了一些工具包來快速創(chuàng)建/銷毀 fixture
https://pypi.python.org/pypi/fixtures
from __future__ import print_functionimport fixturesimport testtoolsclass MyFixture(fixtures.Fixture): def setUp(self): super(MyFixture,self).setUp() self.frobnozzle = 42 print("++++ MyFixture.setup()") def cleanUp(self): super(MyFixture,self).cleanUp() print("++++ MyFixture.cleanup()") print() class MyTestCase(testtools.TestCase): def setUp(self): super(MyTestCase, self).setUp() self.my_fixture = self.useFixture(MyFixture()) print("++++ setUp") def tearDown(self): super(MyTestCase, self).tearDown() print("++++ tearDown") def test_case_1(self): self.assertEqual(42, self.my_fixture.frobnozzle) print("++++ test case 1")