Export your test suites and cases to JUnit report using decorators
Project description
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. |
FAIL_ON_MISSING_SUITE | Decide whether the test will throw a SuiteNotExistError exception if a JunitTestCase does not have a suite parent. Available values: 'True', 'true', 'y', 'Y', '1' |
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
junit-report-0.1.23.tar.gz
(8.9 kB
view hashes)
Built Distribution
Close
Hashes for junit_report-0.1.23-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 92ba4e7e03e101bfadc14d48a8533b0e34ede583259daa920f2f7e8f3de518f9 |
|
MD5 | 2320a0aed55b14e0bd7a0716a7bbc3ff |
|
BLAKE2b-256 | c58861370a1aabf9ca9d943cfc9cd0515f17cea936624e2b45bde2d6d68fc523 |