jerry-git / jerry-git/pytest-split

`setup_class` time is not considered

Aperta
#106 1 commento 3 reazioni 0 assegnatari Vedi su GitHub
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

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.