allure-framework / allure-framework/allure-python

using pytest.mark.parametrize will miss some testcase in report

Open
#778 2 comments 1 reaction 0 assignees View on GitHub
bug theme:core
Dominant language
Python
Stars
814
Forks
260
PR merge metrics
No merged PRs in 30d

Description

#### I'm submitting a ...
- [x] bug report
- [ ] feature request
- [ ] support request => Please do not submit support request here, see note at the top of this template.

#### What is the current behavior?

when i use `pytest.mark.parametrize` ,in specific data situations, i got same historyId for two diffent testcase, when report cameout, only one of two testcase show in report.

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

Code to repeat :
```python
data = [
["", "admin", 12345],
["admin", "", 12345],
]

@pytest.mark.parametrize("name, account, phone_number", data)
def test_add_member(name, account, phone_number):
print(name, account, phone_number)
```

#### What is the expected behavior?

expected got 2 testcase in report

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

#### Please tell us about your environment:

- Allure version: 2.19.0
- Test framework: pytest@7.2.2
- Allure adaptor: allure-pytest@2.13.2

#### Other information

Becourse in `allure_pytest.util.get_history_id`, only use values in original_values to generate historyId
Maybe use both name and value will solve the problem

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.