Pytest

Pytest is a testing framework for JavaScript and TypeScript.

Enabling XML Output

Pytest can produce JUnit XML output by running with the --junit-xml= option.

pytest --junit-xml=filepath.xml 

Test Suite Naming

pytest will automatically fill in values for the and name and classname attributes.

def test_95_percent():
    random_number = secrets.randbelow(100)
    assert random_number <= 95

would produce output that looks like this:

<testsuites>
    <testsuite name="pytest">
        <testcase classname="random_test" 
                  name="test_95_percent"/>
     ...
</testsuites>

The suite name can be configured in the pytest.ini or similar config file.

[pytest]
junit_suite_name = my_suite

Configuring other XML output values is not currently supported, but experimental options are available. To include the test filenames in the XML output, use the -o junit_family=xunit1 option.

pytest --junitxml=output/path.xml -o junit_family=xunit1

Further Configuration

pytest is only one of several popular testing frameworks for Python. You might also want to look at

Last updated