43 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Python
		
	
	
	
			
		
		
	
	
			43 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Python
		
	
	
	
| 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.
 | |
| """
 | |
| 
 |