Improved 'Declaring new hooks' section in docs. (#7782)
Co-authored-by: Bruno Oliveira <nicoddemus@gmail.com>
This commit is contained in:
		
							parent
							
								
									3db24893b4
								
							
						
					
					
						commit
						d3f47bf346
					
				
							
								
								
									
										1
									
								
								AUTHORS
								
								
								
								
							
							
						
						
									
										1
									
								
								AUTHORS
								
								
								
								
							|  | @ -151,6 +151,7 @@ Joshua Bronson | |||
| Jurko Gospodnetić | ||||
| Justyna Janczyszyn | ||||
| Kale Kundert | ||||
| Kamran Ahmad | ||||
| Karl O. Pinc | ||||
| Katarzyna Jachim | ||||
| Katarzyna Król | ||||
|  |  | |||
|  | @ -614,6 +614,11 @@ among each other. | |||
| Declaring new hooks | ||||
| ------------------------ | ||||
| 
 | ||||
| .. note:: | ||||
| 
 | ||||
|     This is a quick overview on how to add new hooks and how they work in general, but a more complete | ||||
|     overview can be found in `the pluggy documentation <https://pluggy.readthedocs.io/en/latest/>`__. | ||||
| 
 | ||||
| .. currentmodule:: _pytest.hookspec | ||||
| 
 | ||||
| Plugins and ``conftest.py`` files may declare new hooks that can then be | ||||
|  | @ -627,7 +632,7 @@ Hooks are usually declared as do-nothing functions that contain only | |||
| documentation describing when the hook will be called and what return values | ||||
| are expected. The names of the functions must start with `pytest_` otherwise pytest won't recognize them. | ||||
| 
 | ||||
| Here's an example. Let's assume this code is in the ``hooks.py`` module. | ||||
| Here's an example. Let's assume this code is in the ``sample_hook.py`` module. | ||||
| 
 | ||||
| .. code-block:: python | ||||
| 
 | ||||
|  | @ -643,10 +648,10 @@ class or module can then be passed to the ``pluginmanager`` using the ``pytest_a | |||
| .. code-block:: python | ||||
| 
 | ||||
|     def pytest_addhooks(pluginmanager): | ||||
|         """ This example assumes the hooks are grouped in the 'hooks' module. """ | ||||
|         from my_app.tests import hooks | ||||
|         """ This example assumes the hooks are grouped in the 'sample_hook' module. """ | ||||
|         from my_app.tests import sample_hook | ||||
| 
 | ||||
|         pluginmanager.add_hookspecs(hooks) | ||||
|         pluginmanager.add_hookspecs(sample_hook) | ||||
| 
 | ||||
| For a real world example, see `newhooks.py`_ from `xdist <https://github.com/pytest-dev/pytest-xdist>`_. | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue