======================== 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-onlyoption
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)
| File | Size | Uploaded | |
|---|---|---|---|
| pytest-collect-formatter2-0.1.3.tar.gz | 8.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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
|