Junit-Report
This Python package adds more control to your tests by decorating your functions and pytest fixtures and exporting them as JUnit xml.
Table of contents
Installation
pip install junit-report
Usage
import pytest
from junit_report import JunitTestSuite, JunitTestCase, JunitFixtureTestCase
class TestSomeThing:
@pytest.fixture
@JunitFixtureTestCase()
def my_fixture(self):
# do stuff ..
@JunitTestCase()
def nested_case():
pass
yield nested_case
@JunitTestCase()
def my_first_test_case(self):
pass
@JunitTestCase()
def my_second_test_case(self, name: str):
raise ValueError(f"Invalid name {name}")
@JunitTestSuite()
def test_suite(self, my_fixture):
my_fixture()
self.my_first_test_case()
self.my_second_test_case("John")
Output
<?xml version="1.0" ?>
<testsuites disabled="0" errors="0" failures="1" tests="4" time="0.000301361083984375">
<testsuite disabled="0" errors="0" failures="1" name="TestSomeThing_test_suite" skipped="0" tests="4" time="0.000301361083984375">
<testcase name="my_fixture" time="0.000163" classname="TestSomeThing" class="fixture"/>
<testcase name="nested_case" time="0.000034" classname="module_name.test" class="function"/>
<testcase name="my_first_test_case" time="0.000017" classname="TestSomeThing" class="function"/>
<testcase name="my_second_test_case" time="0.000087" classname="TestSomeThing" class="function">
<failure type="ValueError" message="Invalid name John">Traceback (most recent call last): ... ValueError: Invalid name John</failure>
</testcase>
</testsuite>
</testsuites>
OS parameters used for configuration
| Variable | Description |
|---|---|
| JUNIT_REPORT_DIR | Reports directory where the reports will be extracted. If it does not exist - create it. |
Release files for junit-report 0.2.7
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| junit-report-0.2.7.tar.gz | 12.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| junit_report-0.2.7-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 26.1 kB
Release files / junit-report-0.2.7.tar.gz
| Download URL | junit-report-0.2.7.tar.gz |
|---|---|
| Size | 12.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
8db5f28ea02d70767192e313c501cee7335cea2007386bc9a7f6df77e769f4da
|
|
BLAKE2b-256 checksum How to use checksums |
9d35270ff1cb960d079be49c2c82c3d2df2a48b47a917eb3f561688bb7782192
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.0 CPython/3.9.12
|
Release files / junit_report-0.2.7-py3-none-any.whl
| Download URL | junit_report-0.2.7-py3-none-any.whl |
|---|---|
| Size | 14.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
35da4506f3ac7f2b8a12341084e69717b2e673b440a3b4e1e5d6828b6a6e64db
|
|
BLAKE2b-256 checksum How to use checksums |
3f22cdeccba49ac745ca4a276e38a2314f599fba31348429856a6f1ed5211197
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.0 CPython/3.9.12
|