test_ok1/doc/en/index.rst

95 lines
2.5 KiB
ReStructuredText
Raw Normal View History

:orphan:
2010-11-02 07:53:53 +08:00
.. _features:
2010-11-02 07:53:53 +08:00
pytest: helps you write better programs
=======================================
The ``pytest`` framework makes it easy to write small tests, yet
scales to support complex functional testing for applications and libraries.
An example of a simple test:
.. code-block:: python
# content of test_sample.py
def inc(x):
return x + 1
2018-06-03 11:29:28 +08:00
def test_answer():
assert inc(3) == 5
2018-11-24 13:41:22 +08:00
To execute it:
.. code-block:: pytest
$ pytest
=========================== test session starts ============================
2019-07-05 08:01:16 +08:00
platform linux -- Python 3.x.y, pytest-5.x.y, py-1.x.y, pluggy-0.x.y
2019-01-31 00:25:38 +08:00
cachedir: $PYTHON_PREFIX/.pytest_cache
2019-04-15 22:24:17 +08:00
rootdir: $REGENDOC_TMPDIR
2017-07-04 07:29:13 +08:00
collected 1 item
2018-06-05 09:14:04 +08:00
test_sample.py F [100%]
2018-06-05 09:14:04 +08:00
================================= FAILURES =================================
_______________________________ test_answer ________________________________
2018-06-05 09:14:04 +08:00
def test_answer():
> assert inc(3) == 5
E assert 4 == 5
E + where 4 = inc(3)
2018-06-05 09:14:04 +08:00
2018-06-05 09:11:27 +08:00
test_sample.py:6: AssertionError
========================= 1 failed in 0.12 seconds =========================
Due to ``pytest``'s detailed assertion introspection, only plain ``assert`` statements are used.
See :ref:`Getting Started <getstarted>` for more examples.
Features
--------
- Detailed info on failing :ref:`assert statements <assert>` (no need to remember ``self.assert*`` names);
- :ref:`Auto-discovery <test discovery>` of test modules and functions;
- :ref:`Modular fixtures <fixture>` for managing small or parametrized long-lived test resources;
- Can run :ref:`unittest <unittest>` (including trial) and :ref:`nose <noseintegration>` test suites out of the box;
2019-07-22 16:01:56 +08:00
- Python 3.5+ and PyPy 3;
- Rich plugin architecture, with over 315+ `external plugins <http://plugincompat.herokuapp.com>`_ and thriving community;
Documentation
-------------
Please see :ref:`Contents <toc>` for full documentation, including installation, tutorials and PDF documents.
Bugs/Requests
-------------
Please use the `GitHub issue tracker <https://github.com/pytest-dev/pytest/issues>`_ to submit bugs or request features.
Changelog
---------
Consult the :ref:`Changelog <changelog>` page for fixes and enhancements of each version.
License
-------
2017-06-13 20:59:11 +08:00
Copyright Holger Krekel and others, 2004-2017.
Distributed under the terms of the `MIT`_ license, pytest is free and open source software.
2017-06-13 20:59:11 +08:00
.. _`MIT`: https://github.com/pytest-dev/pytest/blob/master/LICENSE