Fix indentation and use code-block directives
The code-block directives are required by our blacken-docs hook
This commit is contained in:
		
							parent
							
								
									2ad36b1402
								
							
						
					
					
						commit
						e668aaf885
					
				|  | @ -86,11 +86,14 @@ Monkeypatching environment variables | ||||||
| 
 | 
 | ||||||
| If you are working with environment variables you often need to safely change the values | If you are working with environment variables you often need to safely change the values | ||||||
| or delete them from the system for testing purposes. ``Monkeypatch`` provides a mechanism | or delete them from the system for testing purposes. ``Monkeypatch`` provides a mechanism | ||||||
| to do this using the ``setenv`` and ``delenv`` method. Our example code to test:: | to do this using the ``setenv`` and ``delenv`` method. Our example code to test: | ||||||
|  | 
 | ||||||
|  | .. code-block:: python | ||||||
| 
 | 
 | ||||||
|     # contents of our original code file e.g. code.py |     # contents of our original code file e.g. code.py | ||||||
|     import os |     import os | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
|     def get_os_user_lower(): |     def get_os_user_lower(): | ||||||
|         """Simple retrieval function. |         """Simple retrieval function. | ||||||
|         Returns lowercase USER or raises EnvironmentError.""" |         Returns lowercase USER or raises EnvironmentError.""" | ||||||
|  | @ -103,16 +106,20 @@ to do this using the ``setenv`` and ``delenv`` method. Our example code to test: | ||||||
| 
 | 
 | ||||||
| There are two potential paths. First, the ``USER`` environment variable is set to a | There are two potential paths. First, the ``USER`` environment variable is set to a | ||||||
| value. Second, the ``USER`` environment variable does not exist. Using ``monkeypatch`` | value. Second, the ``USER`` environment variable does not exist. Using ``monkeypatch`` | ||||||
| both paths can be safely tested without impacting the running environment:: | both paths can be safely tested without impacting the running environment: | ||||||
|  | 
 | ||||||
|  | .. code-block:: python | ||||||
| 
 | 
 | ||||||
|     # contents of our test file e.g. test_code.py |     # contents of our test file e.g. test_code.py | ||||||
|     import pytest |     import pytest | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
|     def test_upper_to_lower(monkeypatch): |     def test_upper_to_lower(monkeypatch): | ||||||
|         """Set the USER env var to assert the behavior.""" |         """Set the USER env var to assert the behavior.""" | ||||||
|         monkeypatch.setenv("USER", "TestingUser") |         monkeypatch.setenv("USER", "TestingUser") | ||||||
|         assert get_os_user_lower() == "testinguser" |         assert get_os_user_lower() == "testinguser" | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
|     def test_raise_exception(monkeypatch): |     def test_raise_exception(monkeypatch): | ||||||
|         """Remove the USER env var and assert EnvironmentError is raised.""" |         """Remove the USER env var and assert EnvironmentError is raised.""" | ||||||
|         monkeypatch.delenv("USER", raising=False) |         monkeypatch.delenv("USER", raising=False) | ||||||
|  | @ -120,29 +127,34 @@ both paths can be safely tested without impacting the running environment:: | ||||||
|         with pytest.raises(EnvironmentError): |         with pytest.raises(EnvironmentError): | ||||||
|             _ = get_os_user_lower() |             _ = get_os_user_lower() | ||||||
| 
 | 
 | ||||||
| This behavior can be be moved into ``fixture`` structures and shared across tests:: | This behavior can be be moved into ``fixture`` structures and shared across tests: | ||||||
|  | 
 | ||||||
|  | .. code-block:: python | ||||||
| 
 | 
 | ||||||
|     import pytest |     import pytest | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
|     @pytest.fixture |     @pytest.fixture | ||||||
|     def mock_env_user(monkeypatch): |     def mock_env_user(monkeypatch): | ||||||
|         monkeypatch.setenv("USER", "TestingUser") |         monkeypatch.setenv("USER", "TestingUser") | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
|     @pytest.fixture |     @pytest.fixture | ||||||
|     def mock_env_missing(monkeypatch): |     def mock_env_missing(monkeypatch): | ||||||
|         monkeypatch.delenv("USER", raising=False) |         monkeypatch.delenv("USER", raising=False) | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
|     # Notice the tests reference the fixtures for mocks |     # Notice the tests reference the fixtures for mocks | ||||||
|     def test_upper_to_lower(mock_env_user): |     def test_upper_to_lower(mock_env_user): | ||||||
|         assert get_os_user_lower() == "testinguser" |         assert get_os_user_lower() == "testinguser" | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
|     def test_raise_exception(mock_env_missing): |     def test_raise_exception(mock_env_missing): | ||||||
|         with pytest.raises(EnvironmentError): |         with pytest.raises(EnvironmentError): | ||||||
|             _ = get_os_user_lower() |             _ = get_os_user_lower() | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| 
 |  | ||||||
| .. currentmodule:: _pytest.monkeypatch | .. currentmodule:: _pytest.monkeypatch | ||||||
| 
 | 
 | ||||||
| API Reference | API Reference | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue