PyTest deprecation: 'junit_family default value will change to 'xunit2'

Run your command in this ways.

with xunit2

python -m pytest -o junit_family=xunit2 --junitxml=test-reports/junit.xml

with xunit1

python -m pytest -o junit_family=xunit1 --junitxml=test-reports/junit.xml or

python -m pytest -o junit_family=legacy --junitxml=test-reports/junit.xml

This here describes the change in detail:

The default value of junit_family option will change to xunit2 in pytest 6.0, given that this is the version supported by default in modern tools that manipulate this type of file.

In order to smooth the transition, pytest will issue a warning in case the --junitxml option is given in the command line but junit_family is not explicitly configured in pytest.ini:

PytestDeprecationWarning: The `junit_family` default value will change to 'xunit2' in pytest 6.0.   Add `junit_family=legacy` to your

pytest.ini file to silence this warning and make your suite compatible.

In order to silence this warning, users just need to configure the junit_family option explicitly:

[pytest]
junit_family=legacy

In your pytest.ini file add the following line:

junit_family=legacy

If you want to keep the default behavior of the --junitxml option. Or you can accept the new version, xunit2 but not explicitly defining the junit_family variable.

Essentially what the warning is saying is you are giving the --junitxml option in your

run           
  name: Tests

section not specifying the junit_family variable. You need to start to explicitly defining it to remove the warning or accept the new default.

This thread goes into more details about where to find the .ini file for pytest.