allure-framework / allure-framework/allure-python

Force cast features label values to string

Open
#616 1 comment 0 reactions 0 assignees View on GitHub
theme:core type:enhancement
Dominant language
Python
Stars
814
Forks
260
PR merge metrics
No merged PRs in 30d

Description

[//]: # (
. Note: for support questions, please use Stackoverflow or Gitter**.
. This repository's issues are reserved for feature requests and bug reports.
.
. In case of any problems with Allure Jenkins plugin** please use the following repository
. to create an issue: https://github.com/jenkinsci/allure-plugin/issues
.
. Make sure you have a clear name for your issue. The name should start with a capital
. letter and no dot is required in the end of the sentence. An example of good issue names:
.
. - The report is broken in IE11
. - Add an ability to disable default plugins
. - Support emoji in test descriptions
)

#### I'm submitting a ...
- feature request

#### What is the current behavior?
https://github.com/allure-framework/allure-python/blob/50cb0ec0f388928eabf1fc5af92a009851d34965/allure-python-commons/src/_allure.py#L45-L46

Features values set as is.

#### What is the expected behavior?

Cast `features` to string

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

For easily cast to feature name from dataclasses

Its look better
```python
@allure.feature(Features.some_feature1, Features.some_feature2)
```
vs
```python
@allure.feature(str(Features.some_feature1), str(Features.some_feature2))
```

#### Please tell us about your environment:

- Allure version: 2.1.0
- Test framework: pytest@6.2.4
- Allure adaptor: allure-pytest@2.9.43

#### Other information

[//]: # (
. e.g. detailed explanation, stacktraces, related issues, suggestions
. how to fix, links for us to have more context, eg. Stackoverflow, Gitter etc
)

Contributor guide

Open the contributing guide

Research direction

Start at allure-python-commons/src/_allure.py around lines 45-46, where feature values are currently kept as supplied. Trace the feature decorator entry point and its existing tests, then ensure feature values are converted to strings so dataclass members can be passed directly; done means the resulting feature names are string values.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
testing-qa
Issue type
Feature
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Stale
Clarity
Clearly specified
Newbie friendliness
55/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.