| def setup_module(module): |
| module.TestStateFullThing.classcount = 0 |
| |
| class TestStateFullThing: |
| def setup_class(cls): |
| cls.classcount += 1 |
| |
| def teardown_class(cls): |
| cls.classcount -= 1 |
| |
| def setup_method(self, method): |
| self.id = eval(method.__name__[5:]) |
| |
| def test_42(self): |
| assert self.classcount == 1 |
| assert self.id == 42 |
| |
| def test_23(self): |
| assert self.classcount == 1 |
| assert self.id == 23 |
| |
| def teardown_module(module): |
| assert module.TestStateFullThing.classcount == 0 |
| |
| """ For this example the control flow happens as follows:: |
| import test_setup_flow_example |
| setup_module(test_setup_flow_example) |
| setup_class(TestStateFullThing) |
| instance = TestStateFullThing() |
| setup_method(instance, instance.test_42) |
| instance.test_42() |
| setup_method(instance, instance.test_23) |
| instance.test_23() |
| teardown_class(TestStateFullThing) |
| teardown_module(test_setup_flow_example) |
| |
| Note that ``setup_class(TestStateFullThing)`` is called and not |
| ``TestStateFullThing.setup_class()`` which would require you |
| to insert ``setup_class = classmethod(setup_class)`` to make |
| your setup function callable. |
| """ |
| |