TaIos / comitee

Task from NI-PYT at FIT CTU
MIT License
0 stars 0 forks source link

NI-PYT: odevzdání úlohy na testování #5

Closed TaIos closed 3 years ago

TaIos commented 3 years ago

Všechny testy co jsem k aplikaci napsal jsou zde: comitee/test_my/. Ze zadání jsem všechno implementoval a otestoval. Tag v0.4.0.

Tox spustí pouze /test_my/. Pro přídání referenčních testů stačí doplnit cestu sem: https://github.com/TaIos/comitee/blob/598a63439caf4dcced792dcd5836d2ab0e8371bf/tox.ini#L4-L7


Největší problém jsem měl s testováním secretu. Ten se musí už nějak aplikaci předat při jejím vytváření. Chtěl jsem toto parametrizovat pomocí fixtures, ale nejlepší s čím jsem přišel je fixture wrapper: https://github.com/TaIos/comitee/blob/598a63439caf4dcced792dcd5836d2ab0e8371bf/test_my/helpers.py#L51-L67

Použití pak takto: https://github.com/TaIos/comitee/blob/598a63439caf4dcced792dcd5836d2ab0e8371bf/test_my/test_flask_app.py#L38-L50

TaIos commented 3 years ago

Some update @hroncok ?

hroncok commented 3 years ago

Snažím se přednostně odbavovat věci, na které něco ostře navazuje, a témata na semesterálky. Dostanu se k tomu, ale nevím kdy. Já vím, že se to pořád opakuje :( Byl jsem zvyklý si na tohle vyhradit čas po cvičení na fakultě, ale teď, když učíme vzdáleně, nějak mi to nefunguje a vždy sklouznu k jiné práci.

TaIos commented 3 years ago

Hodil by se mi nějaký komentář, aspoň jestli k těm testům přistupuju dobře :smiley: Chystám se totiž přidat testy do semestrálky a nerad bych to potom předělával/opravoval.

Vím, že všichni nestíhají. Já taky :smile: Semestrálku v řádném termínu rozhodně odevzdat nestihnu. Aspoň v pozdním odevdání s penalizací do 10.2.2021 to snad stihnu.

hroncok commented 3 years ago

Koukám na to.

hroncok commented 3 years ago

helpers.env contextmanager - existuje setenv/delenv v https://docs.pytest.org/en/stable/monkeypatch.html -- funguje hezky.

test_click_interface - testuje interní chování clicku. na tom asi není nic špatného, ale chybí jakýkoliv test vlastních argumentů a pod, jako máme v dodaných testech. pro semestrálku určitě doporučuji testovat jednotlivé argumenty/přepínače apod.

test_fetch_all_commits - zkusil bych přitvrdit asserty, na obsah těch slovníků

testapp_with_config - pdle mě super řešení

Obecně se toho testuje dost málo -- chybí testy jakékoliv logiky. testuje se prakticky jen rámec/forma.

Ale technické zpracování testů je dobré.

Stačí k semestrálce takto? Nezkoušel jsem testy pouštět ani rozbít.

TaIos commented 3 years ago

Děkuji, komentáře jsou takto výborné. O rozbití testů se postarám sám :smile:

TaIos commented 3 years ago

Ohodnoceno v grades. Uzaviram.