jerry-git / jerry-git/pytest-split
`setup_class` time is not considered
- Lingua principale
- Python
- Stelle
- 325
- Fork
- 56
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Descrizione
Considering a test case with `setup_class`:
```py
import time
class TestA:
@classmethod
def setup_class(cls):
time.sleep(6)
def test1(self):
time.sleep(2)
def test2(self):
time.sleep(3)
```
Run:
```sh
pytest test_a.py --store-durations
```
The result in `.test_durations`:
```
{
"test_a.py::TestA::test1": 8.008305040886626,
"test_a.py::TestA::test2": 3.003461800981313
}
```
Here, the `setup_class` time is counted in `test1`, but if `test1` and `test2` are split into different groups, `setup_class` in `test2` matters. To minimize the time, `pytest-split` should group them into the same group.
Guida per i contributori
Nessuna guida per i contributori indicizzata per questo repository
Direzione di ricerca
Start by reproducing the example with `pytest test_a.py --store-durations` and inspect how `.test_durations` is generated and how durations are used for grouping. The fix is done when `setup_class` cost is handled correctly if tests are split across groups, while tests in the same class are grouped together to avoid repeating that setup time.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- python
- Ambito
- testing-qa
- Tipo di issue
- Bug
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Stato di attività
- Tranquilla
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 64/100