Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

pytest-nunit

Package Overview
Dependencies
Maintainers
2
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

pytest-nunit

A pytest plugin for generating NUnit3 test result XML output

  • 1.0.7
  • PyPI
  • Socket score

Maintainers
2

============ pytest-nunit

.. image:: https://github.com/pytest-dev/pytest-nunit/actions/workflows/ci.yml/badge.svg :target: https://pypi.org/project/pytest-nunit :alt: PyPI version

.. image:: https://img.shields.io/pypi/v/pytest-nunit.svg :target: https://pypi.org/project/pytest-nunit :alt: PyPI version

.. image:: https://img.shields.io/pypi/pyversions/pytest-nunit.svg :target: https://pypi.org/project/pytest-nunit :alt: Python versions

.. image:: https://img.shields.io/pypi/dm/pytest-nunit.svg :target: https://pypi.python.org/pypi/pytest-nunit/ :alt: PyPI download month

A pytest plugin for generating NUnit3 test result XML output

Requires:

  • Pytest 5.1.0+
  • Python 3.7+

Command-line options

--nunit-xml


A string value to set the file name of the generated XML file.

Argument takes a path to the output file, either relative, or absolute.

``--nunit-prefix``

A string value to prefix all test case names the string provided.

Defaults to an empty string.

INI Options

nunit_show_username


Boolean value to include the system username in the test run properties.

Defaults to ``false``

``nunit_show_user_domain``

Boolean value to include the system user domain in the test run properties.

Defaults to false

nunit_suite_name


(Deprecated, value ignored)

String value to set the test suite name.

Defaults to ``'pytest'``

``nunit_attach_on``

Enumeration to control whether the attachments property is set on all test cases when the add_nunit_attachment is used.

Can be one of:

  • any - Include test attachments for all outcomes (Default)
  • pass - Include test attachments for only passed test cases
  • fail - Include test attachments for only failed test cases

Fixtures

The following fixtures are made available by this plugin.

record_nunit_property


Calling `record_nunit_property(key: str, value: str)` will result in `Property` tags being added to the `test-case` for the related node. 

.. code-block:: python

    def test_basic(record_nunit_property):
        record_nunit_property("test", "value")
        assert 1 == 1

``add_nunit_attachment``
~~~~~~~~~~~~~~~~~~~~~~~~

Add an attachment to a node test-case by calling the `add_nunit_attachment(path: str, description: str)` function with the filepath and a description.

.. code-block:: python

    def test_attachment(add_nunit_attachment):
        pth = os.path.join(os.path.abspath(os.path.dirname(__file__)), 'fixture.gif')
        add_nunit_attachment(path, "peanut butter jelly time")
        assert 1 == 1

Usage with Azure Pipelines
--------------------------

Add the following steps to your build job to publish the results to Azure Pipelines:

.. code-block:: yaml

      - script: "pip install pytest-nunit"

      - script: |
          python -m pytest tests -v --nunit-xml=test-results.xml
        continueOnError: true

      - task: PublishTestResults@2
        inputs:
          testResultsFormat: NUnit
          testResultsFiles: '**/test-results.xml'

Skipped Tests
~~~~~~~~~~~~~

Skipped tests will have the ``reason`` attribute (if provided) included in the results.

.. image:: https://github.com/pytest-dev/pytest-nunit/raw/master/docs/source/_static/screen_skips.png
   :width: 70%


Attachments
~~~~~~~~~~~

Using the ``add_nunit_attachment`` fixture will render any attachments in the "attachments" tab inside the Tests console:

.. image:: https://github.com/pytest-dev/pytest-nunit/raw/master/docs/source/_static/screen_attachments.png
   :width: 70%

Failures and xfails
~~~~~~~~~~~~~~~~~~~

Any failed tests, whether as xpass or xfail, will have the error output and comparison, as well as the failing line in the stack trace.

.. image:: https://github.com/pytest-dev/pytest-nunit/raw/master/docs/source/_static/screen_fails.png
   :width: 70%


Compatibility with other plugins
--------------------------------

x-dist
~~~~~~

When running with `-f`, make sure to add in your pytest config file (setup.cfg etc)
`looponfailroots = testdir` to exclude xml report files from being watched for changes.

Check looponfails_


.. _looponfails: https://docs.pytest.org/en/3.0.1/xdist.html#running-tests-in-looponfailing-mode

FAQs


Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc