BCStudentSoftwareDevTeam / BCStudentSoftwareDevTeam/lsf

Fix `test_tracy.py`'s and `test_search.py` tests from being brittle.

Aperta Adatta ai principianti
#659 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub
Lingua principale
Python
Stelle
1
Fork
1
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

### Description
The current implementation of the `test_getSupervisors` function, in `test_tracy.py`, checks if the people in the demo data are in a predetermined list.
This means that adding any new supervisor to the demo data breaks this test until it is set again. Create an implementation of this that does not require it to assert a predetermined list of supervisors.

`test_getSupervisorsForDepartment`, in `test_search.py`, is also a brittle function in this file. It checks the length of the list of supervisors compared to an expected outcome. This breaks whenever a new supervisor is added to the Computer Science (Department 1) department.

### Notes:
The `test_getSupervisors` looks something like this: `assert s.FIRST_NAME in ['Alex', 'Brian', ...]` and `assert s.CPO in ['222', '888', '6301', ...]`.
This doesn't test whether the function is grabbing new supervisors; it just checks whether the ones in the database are ALL grabbed when the query runs, which is why it crashes when a new supervisor is added.

The `test_getSupervisorsForDepartment` looks like this: `assert len(supervisors) == 12`

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Direzione di ricerca

Inizia con test_tracy.py's test_getSupervisors e test_search.py's test_getSupervisorsForDepartment, quindi esegui questi test per osservare le assunzioni su nomi fissi e conteggi fissi. Sostituisci queste aspettative fragili con assertions che rimangano valide quando vengono aggiunti Supervisors e conferma che entrambi i test passino con i dati demo attuali.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
python
Ambito
testing-qa
Tipo di issue
Refactoring
Difficoltà
2/5
Tempo stimato
1-3 ore
Stato di attività
Tranquilla
Chiarezza
Specificata chiaramente
Idoneità per principianti
74/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.