summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CONTRIBUTING.rst14
-rw-r--r--doc/en/writing_plugins.rst18
2 files changed, 16 insertions, 16 deletions
diff --git a/CONTRIBUTING.rst b/CONTRIBUTING.rst
index 2669cb195..054f809a8 100644
--- a/CONTRIBUTING.rst
+++ b/CONTRIBUTING.rst
@@ -324,20 +324,20 @@ Here is a simple overview, with pytest-specific bits:
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:
.. code-block:: python
- def test_true_assertion(testdir):
- testdir.makepyfile(
+ def test_true_assertion(pytester):
+ pytester.makepyfile(
"""
def test_foo():
assert True
"""
)
- result = testdir.runpytest()
+ result = pytester.runpytest()
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
- def test_true_assertion(testdir):
- testdir.makepyfile(
+ def test_true_assertion(pytester):
+ pytester.makepyfile(
"""
def test_foo():
assert False
"""
)
- result = testdir.runpytest()
+ result = pytester.runpytest()
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
diff --git a/doc/en/writing_plugins.rst b/doc/en/writing_plugins.rst
index f53f561cf..e9806a666 100644
--- a/doc/en/writing_plugins.rst
+++ b/doc/en/writing_plugins.rst
@@ -337,7 +337,7 @@ testing directory:
Alternatively you can invoke pytest with the ``-p pytester`` command line
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.
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
-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
return a result object, with which we can assert the tests' outcomes.
.. code-block:: python
- def test_hello(testdir):
+ def test_hello(pytester):
"""Make sure that our plugin works."""
# create a temporary conftest.py file
- testdir.makeconftest(
+ pytester.makeconftest(
"""
import pytest
@@ -399,7 +399,7 @@ return a result object, with which we can assert the tests' outcomes.
)
# create a temporary pytest test file
- testdir.makepyfile(
+ pytester.makepyfile(
"""
def test_hello_default(hello):
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
- result = testdir.runpytest()
+ result = pytester.runpytest()
# check that all 4 tests passed
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
- def test_plugin(testdir):
- testdir.copy_example("test_example.py")
- testdir.runpytest("-k", "test_example")
+ def test_plugin(pytester):
+ pytester.copy_example("test_example.py")
+ pytester.runpytest("-k", "test_example")
def test_example():