Skip to main content

======================== pytest-collect-formatter2

Fork From: https://github.com/LaserPhaser/pytest-collect-formatter

add remark collect

Pytest plugin for formatting output of the collected tests.

  • Free software: MIT license

Requirements

  • pyyaml
  • dicttoxml

Installation

You can install "pytest-collect-formatter2" via pip_::

$ pip install pytest-collect-formatter2

Usage

  • Use this plugin by running pytest normally and use the following options to customize collection format, it's better to use with --collect-only option

collect-formatter: --collect-output-file=COLLECT_OUTPUT_FILE Saves collected test items to the file --collect-format=COLLECT_FORMAT Saves collected test items specified format [xml, yaml, json] --collect-type=COLLECT_TYPE Format output results in classic pytest view or in 'path' view [classic, path], default classic --with-remark Collect method remark,priority: 1st-@allure.title() 2nd-method python doc 3rd- method comment

Example of usage

$ pytest tests --collect-output-file my_tests_structure.xml --collect-format xml

And you will get the my_tests_structure.xml

Exmpales of formats

PATH


JSON

.. code-block::

[
    {
        "type": "Module",
        "title": "examples/tests/test_formatter/test_fromatter_v1.py",
        "children": [
            {
                "type": "Class",
                "title": "TestFormatter",
                "children": [
                    {
                        "type": "Function",
                        "title": "test_inside_class",
                        "remark": "this is remark"
                    },
                    {
                        "type": "Function",
                        "title": "test_inside_class_parametrize[1]",
                        "remark": null
                    },
                    {
                        "type": "Function",
                        "title": "test_inside_class_parametrize[2]",
                        "remark": null
                    },
                    {
                        "type": "Function",
                        "title": "test_inside_class_parametrize[3]",
                        "remark": null
                    },
                    {
                        "type": "Function",
                        "title": "test_inside_class_parametrize[4]",
                        "remark": null
                    }
                ],
                "remark": null
            },
            {
                "type": "Function",
                "title": "test_outside_of_class",
                "remark": "this is remark 3"
            }
        ],
        "remark": null
    }
]

YAML

.. code-block::

- children:
  - children:
    - children:
      - children:
        - children:
          - children: []
            title: test_inside_class
            type: pytest_unit
          - children: []
            title: test_inside_class_parametrize[1]
            type: pytest_unit
          - children: []
            title: test_inside_class_parametrize[2]
            type: pytest_unit
          - children: []
            title: test_inside_class_parametrize[3]

...

XML

.. code-block::

<?xml version="1.0" ?>
<root>
    <item>
        <type>path</type>
        <title>examples</title>
        <children>
            <item>
                <type>path</type>
                <title>tests</title>
                <children>
                    <item>
                        <type>path</type>
                        <title>test_formatter</title>
                        <children>
                            <item>
                                <type>path</type>
                                <title>test_fromatter_v1.py</title>
                                <children>
                                    <item>
                                        <type>pytest_unit</type>
                                        <title>TestFormatter</title>
                                        <children>
                                            <item>
                                                <type>pytest_unit</type>
                                                <title>test_inside_class</title>
                                                <children/>
                                            </item>
...

CLASSIC


JSON

.. code-block::

[ { "type": "Package", "value": "test_formatter", "children": [ { "type": "Module", "value": "test_fromatter_v1.py", "children": [ { "type": "Class", "value": "TestFormatter", "children": [ { "type": "Function", "value": "test_inside_class" } ....

YAML

.. code-block::

- children:
  - children:
    - children:
      - type: Function
        value: test_inside_class
      - type: Function
        value: test_inside_class_parametrize[1]
      - type: Function
        value: test_inside_class_parametrize[2]
      - type: Function
        value: test_inside_class_parametrize[3]
      - type: Function
        value: test_inside_class_parametrize[4]
      type: Class
      value: TestFormatter
    - type: Function
      value: test_outside_of_class
    type: Module
    value: test_fromatter_v1.py
  type: Package
  value: test_formatter
....

XML

.. code-block::

<?xml version="1.0" ?>
<root>
    <item>
        <type>Package</type>
        <value>test_formatter</value>
        <children>
            <item>
                <type>Module</type>
                <value>test_fromatter_v1.py</value>
                <children>
                    <item>
                        <type>Class</type>
                        <value>TestFormatter</value>
                        <children>
                            <item>
                                <type>Function</type>
                                <value>test_inside_class</value>
                            </item>
                            <item>
                                <type>Function</type>
                                <value>test_inside_class_parametrize[1]</value>
                            </item>
                            <item>
                                <type>Function</type>
                                <value>test_inside_class_parametrize[2]</value>
                            </item>
                            <item>
                                <type>Function</type>
                                <value>test_inside_class_parametrize[3]</value>
                            </item>
                            <item>
                                <type>Function</type>
                                <value>test_inside_class_parametrize[4]</value>
                            </item>
                        </children>
                    </item>
                    <item>
                        <type>Function</type>
                        <value>test_outside_of_class</value>
                    </item>
                </children>
            </item>
        </children>
....

More examples could be found in examples folder as well as tests structure

Issues

If you encounter any problems, please file an issue_ along with a detailed description.

Credits

.. _file an issue: https://github.com/pytest-dev/pytest-slack/issues .. _pip: https://pypi.python.org/pypi/pip/

======= Credits

Development Lead

  • Laser <https://github.com/LaserPhaser>_

Contributors

Release files for pytest-collect-formatter2 0.1.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pytest-collect-formatter2 0.1.3
File Size Uploaded
pytest-collect-formatter2-0.1.3.tar.gz 8.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pytest-collect-formatter2 0.1.3
File Interpreter ABI Platform
pytest_collect_formatter2-0.1.3-py2.py3-none-any.whl Python 3, Python 2 none any Details

Total release size:15.2 kB

Release files / pytest-collect-formatter2-0.1.3.tar.gz

Download URL pytest-collect-formatter2-0.1.3.tar.gz
Size 8.9 kB
Tags Source
SHA-256 checksum
How to use checksums
55fef4d2e6142d95e5d76dad4c217a22ec63b2f7acc7056539e6b55eb8c15d3a
BLAKE2b-256 checksum
How to use checksums
6fecdaa93e949f307556e05d6bd623c970f531da5e1451a0bbc6d870471617be
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.4.1 importlib_metadata/3.10.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.8.2

Release files / pytest_collect_formatter2-0.1.3-py2.py3-none-any.whl

Download URL pytest_collect_formatter2-0.1.3-py2.py3-none-any.whl
Size 6.3 kB
Tags Python 2 Python 3
SHA-256 checksum
How to use checksums
66e0e0ee96117864d3822ef704bd83bd92470786cfa2dd1a85cb7b319f925238
BLAKE2b-256 checksum
How to use checksums
7e32500a521f75d1117bece0c3bd78c6e2a48db36e974d852e9dfc11f5ee9533
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.4.1 importlib_metadata/3.10.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.8.2

Release history Release notifications | RSS feed

This release

0.1.3 This release

2 release files

0.1.2

3 release files

0.1.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page