CSV output for pytest.
Install using pip: :
pip install pytest-csv
To enable the CSV report:
py.test --csv tests.csv
To customize the CSV delimiter/quoting characters:
py.test --csv tests.csv --csv-delimiter ';' --csv-quote-char '"'
To customize the columns:
py.test --csv tests.csv --csv-columns host,function,status,duration,parameters_as_columns
This is the reference of all available columns:
Column Description id
pytest test identifier module
test module name class
test class function
test function name name
test name, with arguments file
test module file doc
test function docstring status
test status (passed, failed, error, skipped, xpassed or xfailed) success
test status, as a boolean duration
test duration, in seconds duration_formatted
test duration, human readable message
error message, if any markers
test markers, as a comma-separated list markers_with_args
test markers with their arguments, as a comma-separated list markers_as_columns
test markers, each as a separate column markers_args_as_columns
test markers with their arguments, each as a separate column parameters
test parameters, as a comma-separated list parameters_as_columns
test parameters, each as a separate column properties
properties recorded using record_property
, as a comma-separated listproperties_as_columns
properties recorded using record_property
, each as a separate columnuser
current user name host
current host (from platform
module)system
current system name (from platform
module)system_release
current system release info (from platform
module)system_version
current system version info (from platform
module)python_implementation
current python implementation (from platform
module)python_version
current python version (from platform
module)working_directory
current working directory To add some data directly from a test function, enable properties_as_columns and use:
def test_01(record_property): record_property('my column 1', 42) record_property('my column 2', 'foo bar')
To define new column types, in
conftest.py
(more examples here):def pytest_csv_register_columns(columns): columns['my_simple_column'] = lambda item, report: {'my column': report.nodeid}
Please report issues here.
This software is released under the GNU General Public License v3.0, see COPYING
for details.