Merge pull request #8216 from xuhdev/testdir-pytester
DOC: Update multiple references to testdir to pytester
This commit is contained in:
		
						commit
						8d16bec329
					
				|  | @ -324,20 +324,20 @@ Here is a simple overview, with pytest-specific bits: | ||||||
| Writing Tests | Writing Tests | ||||||
| ~~~~~~~~~~~~~ | ~~~~~~~~~~~~~ | ||||||
| 
 | 
 | ||||||
| Writing tests for plugins or for pytest itself is often done using the `testdir fixture <https://docs.pytest.org/en/stable/reference.html#testdir>`_, as a "black-box" test. | Writing tests for plugins or for pytest itself is often done using the `pytester fixture <https://docs.pytest.org/en/stable/reference.html#pytester>`_, as a "black-box" test. | ||||||
| 
 | 
 | ||||||
| For example, to ensure a simple test passes you can write: | For example, to ensure a simple test passes you can write: | ||||||
| 
 | 
 | ||||||
| .. code-block:: python | .. code-block:: python | ||||||
| 
 | 
 | ||||||
|     def test_true_assertion(testdir): |     def test_true_assertion(pytester): | ||||||
|         testdir.makepyfile( |         pytester.makepyfile( | ||||||
|             """ |             """ | ||||||
|             def test_foo(): |             def test_foo(): | ||||||
|                 assert True |                 assert True | ||||||
|         """ |         """ | ||||||
|         ) |         ) | ||||||
|         result = testdir.runpytest() |         result = pytester.runpytest() | ||||||
|         result.assert_outcomes(failed=0, passed=1) |         result.assert_outcomes(failed=0, passed=1) | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | @ -346,14 +346,14 @@ Alternatively, it is possible to make checks based on the actual output of the t | ||||||
| 
 | 
 | ||||||
| .. code-block:: python | .. code-block:: python | ||||||
| 
 | 
 | ||||||
|     def test_true_assertion(testdir): |     def test_true_assertion(pytester): | ||||||
|         testdir.makepyfile( |         pytester.makepyfile( | ||||||
|             """ |             """ | ||||||
|             def test_foo(): |             def test_foo(): | ||||||
|                 assert False |                 assert False | ||||||
|         """ |         """ | ||||||
|         ) |         ) | ||||||
|         result = testdir.runpytest() |         result = pytester.runpytest() | ||||||
|         result.stdout.fnmatch_lines(["*assert False*", "*1 failed*"]) |         result.stdout.fnmatch_lines(["*assert False*", "*1 failed*"]) | ||||||
| 
 | 
 | ||||||
| When choosing a file where to write a new test, take a look at the existing files and see if there's | When choosing a file where to write a new test, take a look at the existing files and see if there's | ||||||
|  |  | ||||||
|  | @ -337,7 +337,7 @@ testing directory: | ||||||
| Alternatively you can invoke pytest with the ``-p pytester`` command line | Alternatively you can invoke pytest with the ``-p pytester`` command line | ||||||
| option. | option. | ||||||
| 
 | 
 | ||||||
| This will allow you to use the :py:class:`testdir <_pytest.pytester.Testdir>` | This will allow you to use the :py:class:`pytester <_pytest.pytester.Pytester>` | ||||||
| fixture for testing your plugin code. | fixture for testing your plugin code. | ||||||
| 
 | 
 | ||||||
| Let's demonstrate what you can do with the plugin with an example. Imagine we | Let's demonstrate what you can do with the plugin with an example. Imagine we | ||||||
|  | @ -374,17 +374,17 @@ string value of ``Hello World!`` if we do not supply a value or ``Hello | ||||||
|         return _hello |         return _hello | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| Now the ``testdir`` fixture provides a convenient API for creating temporary | Now the ``pytester`` fixture provides a convenient API for creating temporary | ||||||
| ``conftest.py`` files and test files. It also allows us to run the tests and | ``conftest.py`` files and test files. It also allows us to run the tests and | ||||||
| return a result object, with which we can assert the tests' outcomes. | return a result object, with which we can assert the tests' outcomes. | ||||||
| 
 | 
 | ||||||
| .. code-block:: python | .. code-block:: python | ||||||
| 
 | 
 | ||||||
|     def test_hello(testdir): |     def test_hello(pytester): | ||||||
|         """Make sure that our plugin works.""" |         """Make sure that our plugin works.""" | ||||||
| 
 | 
 | ||||||
|         # create a temporary conftest.py file |         # create a temporary conftest.py file | ||||||
|         testdir.makeconftest( |         pytester.makeconftest( | ||||||
|             """ |             """ | ||||||
|             import pytest |             import pytest | ||||||
| 
 | 
 | ||||||
|  | @ -399,7 +399,7 @@ return a result object, with which we can assert the tests' outcomes. | ||||||
|         ) |         ) | ||||||
| 
 | 
 | ||||||
|         # create a temporary pytest test file |         # create a temporary pytest test file | ||||||
|         testdir.makepyfile( |         pytester.makepyfile( | ||||||
|             """ |             """ | ||||||
|             def test_hello_default(hello): |             def test_hello_default(hello): | ||||||
|                 assert hello() == "Hello World!" |                 assert hello() == "Hello World!" | ||||||
|  | @ -410,7 +410,7 @@ return a result object, with which we can assert the tests' outcomes. | ||||||
|         ) |         ) | ||||||
| 
 | 
 | ||||||
|         # run all tests with pytest |         # run all tests with pytest | ||||||
|         result = testdir.runpytest() |         result = pytester.runpytest() | ||||||
| 
 | 
 | ||||||
|         # check that all 4 tests passed |         # check that all 4 tests passed | ||||||
|         result.assert_outcomes(passed=4) |         result.assert_outcomes(passed=4) | ||||||
|  | @ -430,9 +430,9 @@ Additionally it is possible to copy examples for an example folder before runnin | ||||||
|     # content of test_example.py |     # content of test_example.py | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|     def test_plugin(testdir): |     def test_plugin(pytester): | ||||||
|         testdir.copy_example("test_example.py") |         pytester.copy_example("test_example.py") | ||||||
|         testdir.runpytest("-k", "test_example") |         pytester.runpytest("-k", "test_example") | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|     def test_example(): |     def test_example(): | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue