pytest-collect-formatter 0.4.0

Last updated:

0 purchases

pytest-collect-formatter 0.4.0 Image
pytest-collect-formatter 0.4.0 Images
Add to Cart

Description:

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

License:

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Customer Reviews

There are no reviews.