Metadata-Version: 2.1
Name: nose2
Version: 0.10.0
Summary: unittest2 with plugins, the succesor to nose
Home-page: https://github.com/nose-devs/nose2
Maintainer: nose2 devs
Maintainer-email: dev@nose2.io
License: UNKNOWN
Description: .. image:: https://github.com/nose-devs/nose2/workflows/build/badge.svg?event=push
            :alt: build status
            :target: https://github.com/nose-devs/nose2/actions?query=workflow%3Abuild
        
        .. image:: https://img.shields.io/pypi/v/nose2.svg
            :target: https://pypi.org/project/nose2/
            :alt: Latest PyPI version
        
        .. image:: https://img.shields.io/pypi/pyversions/nose2.svg
            :alt: Supported Python Versions
            :target: https://pypi.org/project/nose2/
        
        .. image:: https://img.shields.io/badge/Mailing%20list-discuss%40nose2.io-blue.svg
            :target: https://groups.google.com/a/nose2.io/forum/#!forum/discuss
            :alt: Join discuss@nose2.io
        
        Welcome to nose2
        ================
        
        ``nose2`` is the successor to ``nose``.
        
        It's ``unittest`` with plugins.
        
        ``nose2`` is a new project and does not support all of the features of
        ``nose``. See `differences`_ for a thorough rundown.
        
        nose2's purpose is to extend ``unittest`` to make testing nicer and easier to
        understand.
        
        nose2 vs pytest
        ---------------
        
        ``nose2`` may or may not be a good fit for your project.
        
        If you are new to python testing, we encourage you to also consider `pytest`_,
        a popular testing framework.
        
        Quickstart
        ----------
        
        Because ``nose2`` is based on unittest, you can start from the Python Standard
        Library's `documentation for unittest <https://docs.python.org/library/unittest.html>`_
        and then use nose2 to add value on top of that.
        
        ``nose2`` looks for tests in python files whose names start with ``test`` and
        runs every test function it discovers.
        
        Here's an example of a simple test, written in typical unittest style:
        
        .. code-block:: python
        
            # in test_simple.py
            import unittest
        
            class TestStrings(unittest.TestCase):
                def test_upper(self):
                    self.assertEqual("spam".upper(), "SPAM")
        
        You can then run this test like so::
        
            $ nose2 -v
            test_upper (test_simple.TestStrings) ... ok
        
            ----------------------------------------------------------------------
            Ran 1 test in 0.000s
        
            OK
        
        However, ``nose2`` supports more testing configuration and provides more tools
        than ``unittest`` on its own.
        
        For example, this test exercises just a few of ``nose2``'s features:
        
        .. code-block:: python
        
            # in test_fancy.py
            from nose2.tools import params
        
            @params("Sir Bedevere", "Miss Islington", "Duck")
            def test_is_knight(value):
                assert value.startswith('Sir')
        
        and then run this like so::
        
            $ nose2 -v --pretty-assert
            test_fancy.test_is_knight:1
            'Sir Bedevere' ... ok
            test_fancy.test_is_knight:2
            'Miss Islington' ... FAIL
            test_fancy.test_is_knight:3
            'Duck' ... FAIL
        
            ======================================================================
            FAIL: test_fancy.test_is_knight:2
            'Miss Islington'
            ----------------------------------------------------------------------
            Traceback (most recent call last):
              File "/mnt/ebs/home/sirosen/tmp/test_fancy.py", line 6, in test_is_knight
                assert value.startswith('Sir')
            AssertionError
        
            >>> assert value.startswith('Sir')
        
            values:
                value = 'Miss Islington'
                value.startswith = <built-in method startswith of str object at 0x7f3c3172f430>
            ======================================================================
            FAIL: test_fancy.test_is_knight:3
            'Duck'
            ----------------------------------------------------------------------
            Traceback (most recent call last):
              File "/mnt/ebs/home/sirosen/tmp/test_fancy.py", line 6, in test_is_knight
                assert value.startswith('Sir')
            AssertionError
        
            >>> assert value.startswith('Sir')
        
            values:
                value = 'Duck'
                value.startswith = <built-in method startswith of str object at 0x7f3c3172d490>
            ----------------------------------------------------------------------
            Ran 3 tests in 0.001s
        
            FAILED (failures=2)
        
        Full Docs
        ---------
        
        Full documentation for ``nose2`` is available at `docs.nose2.io`_
        
        Contributing
        ------------
        
        If you want to make contributions, please read the `contributing`_ guide.
        
        .. _differences: https://nose2.readthedocs.io/en/latest/differences.html
        
        .. _pytest: http://pytest.readthedocs.io/en/latest/
        
        .. _contributing: https://github.com/nose-devs/nose2/blob/master/contributing.rst
        
        .. _docs.nose2.io: https://docs.nose2.io/en/latest/
        
Keywords: unittest,testing,tests
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: BSD License
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
Classifier: Operating System :: OS Independent
Classifier: Topic :: Software Development :: Libraries
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: Software Development :: Testing
Provides-Extra: coverage_plugin
Provides-Extra: dev
