Pytest Rmsis Plugin
This plugin synchronize test reports to Jira RMsis. Following test attributes are synchronized:
- Run result: passed, failed, skipped
- Description of testcase
- Jira requirement
Free software: MIT license
Installation
pip install pytest-rmsis
Konfiguration
In order to synchronize test result with RMsis, you have to specify a few parameters:
- RMsis User Name
- RMsis Password
- RMsis URL
- RMsis Project Name (for example: DLE_RMsis_CI_integration)
- RMsis Release Name (for example: helbling-test-framework)
- Optional RMsis Testrun Name (otherwise the Testrun is named: Pytest)
These parameters can directly be set in the shell:
pytest --rmsis \
--rmsis-user <USERNAME> \
--rmsis-password <PASSWORD> \
--rmsis-url https://jira.example.de:3601 \
--rmsis-project "My Project" \
--rmsis-release "My Release" \
--rmsis-testrun "My Testrun"
or in the pytest.ini:
[pytest]
addopts = --rmsis
--rmsis-user <USERNAME>
--rmsis-password <PASSWORD>
--rmsis-url https://jira.example.de:3601
--rmsis-project "My Project"
--rmsis-release "My Release"
--rmsis-testrun "My Release"
The flag --rmsis is the On/Off flag for the synchronisation. So if you don't want to synchronize with RMsis, remove it from the parameter list.
All parameters can also be configured by environment variables: RMSIS_USR, RMSIS_PSW, RMSIS_URL, RMSIS_PROJECT, RMSIS_RELEASE and RMSIS_TESTRUN.
Synchronisation
Each test in pytest has an unique identification based on the file path of the test and the class name and the test name: r/test_sample.py::TestClass::test_one. This unique identifier is used as the name of a testcase. This allows to have a mapping of testcases in RMsis to testcases in pytest.
Description
The doc-string of a test is synchronized as description by each pytest execution. The description in Rmsis will be overwritten.
def test_me():
"""Description which is synchronized"""
assert True
Planned Requirements
If a test is marked with @pytest.mark.rmsis_requirement("KEY"), the test case is linked to the planned requirement with the key.
@pytest.mark.rmsis_requirement("JRCI-R1")
def test_me():
assert True
If the key changes in the python test, the old linking will not be deleted in RMsis. It has to be deleted manually.
Temporary Disable Synchronization
The synchronization can be disabled on function-scope:
@pytest.mark.skip_rmsis
def test_me():
assert True
FAQ
- Does pytest delete testcases in RMsis? - No testcases are deleted
- What happens if a testcase is renamed in pytest? - Pytest will create a new testcase in RMsis. You have to manually delete the old testcase in RMsis.
- What will happen if a testcase in RMsis is deleted? - Pytest will create a new testcase in RMsis
- Are steps synchronized to RMsis? - No, native pytest does not support the concept of steps.
pytest-stepsis not supported. - Can attachements be uploaded to RMsis as result of a testrun? - No, the RMsis API does not support the upload of attachements.
Roadmap
- Synchronization of Categories:
@pytest.mark.rmsis_cateogry("category") - Overwrite test case name:
@pytest.mark.rmsis_testcase("Name of testcase") - Porting to Rmsis on Jira Cloud
Metadata
Release files for pytest-rmsis 1.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pytest-rmsis-1.0.0.tar.gz | 14.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pytest_rmsis-1.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 27.9 kB
Release files / pytest-rmsis-1.0.0.tar.gz
| Download URL | pytest-rmsis-1.0.0.tar.gz |
|---|---|
| Size | 14.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
14412d7ca3295ada09cddb54d008208c092f3f288ba6660c7a50b966a98f42cb
|
|
BLAKE2b-256 checksum How to use checksums |
a2fb979da225d4215f8602fbc4b395d18bbe790878c714cc8f4dbbcde760e476
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.1 CPython/3.8.10
|
Release files / pytest_rmsis-1.0.0-py3-none-any.whl
| Download URL | pytest_rmsis-1.0.0-py3-none-any.whl |
|---|---|
| Size | 13.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
c6cd486e24d0af608821aa7eb57486a3b2298afb4190ae9e5c78f275019431e4
|
|
BLAKE2b-256 checksum How to use checksums |
d5a2d12d848f13f531b9fc36733fa091efde9100ff0f82d77e5aa698dbb667c1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.1 CPython/3.8.10
|