Last updated:
0 purchases
pytestcollectformatter 0.4.0
pytest-collect-formatter
Pytest plugin for formatting output of the collected tests.
Free software: MIT license
Requirements
pyyaml
dicttoxml
Installation
You can install “pytest-collect-formatter” via pip:
$ pip install pytest-collect-formatter
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
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
[
{
"type": "path",
"title": "examples",
"children": [
{
"type": "path",
"title": "tests",
"children": [
{
"type": "path",
"title": "test_formatter",
"children": [
{
"type": "path",
"title": "test_fromatter_v1.py",
"children": [
{
"type": "pytest_unit",
"title": "TestFormatter",
"children": [
{
"type": "pytest_unit",
"title": "test_inside_class",
"children": []
},
{
...
YAML
- 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
<?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
[
{
"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
- 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
<?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
Credits
Development Lead
Laser
Contributors
For personal and professional use. You cannot resell or redistribute these repositories in their original state.
There are no reviews.