allure-framework / allure-python

Allure integrations for Python test frameworks
https://allurereport.org/
Apache License 2.0
730 stars 237 forks source link

to prevent saving marks with parameters as labels → tag #817

Open cheshi-mantu opened 6 months ago

cheshi-mantu commented 6 months ago

I'm submitting a ...

What is the current behavior?

when pytest tests are being executed the content of marks with parameters is saved to labels section as a tag.

code like

@pytest.mark.skip("skip this test")
@allure.title(TestNames.FAILING_TEST.get_name())
def test_failing_test():
    f"""{TestNames.FAILING_TEST.get_description()}"""
    assert False

will result in

"labels": [
    {
      "name": "tag",
      "value": "@pytest.mark.skip('skip this test')"
    }
<snip>
]

the tag's text will contain spaces, which will result in errors in the integrations Allure Testops has, e.g. when trying to export the data to jira we'll get

response body {"errorMessages":[],"errors":{"labels":"The label '@pytest.mark.skip('Skipping the test because the tests are using token.')' contains spaces which is invalid."}}

as most of the system do not allow creation of tags/labels with spaces.

If the current behavior is a bug, please provide the steps to reproduce and if possible a minimal demo of the problem

N/A

What is the expected behaviour?

marks with parameters aren't transferred to the *-result.json files as tags.

What is the motivation / use case for changing the behavior?

tag is a 1 word label should not contain spaces.

Please tell us about your environment:

Other information

N/A