linuchs / Botquake

Botquake
0 stars 2 forks source link

Branch bot test: adding of some test functions #20

Closed lorenzodidomenic closed 6 months ago

linuchs commented 6 months ago

Queste sono le modifiche apportate al codice da @lorenzodidomenic come richiesto nella #18

simone989 commented 6 months ago

Ciao Ragazzi, vorrei far emergere un punto importante riguardo alla logica aggiunta in questa pull request. L'intento dei test è verificare che la funzione si comporti come previsto in situazioni diverse. Introdurre un parametro come testing per saltare completamente la logica della funzione potrebbe compromettere l'integrità dei test stessi. Se la funzione è progettata per essere testata in un certo modo, l'aggiunta di un parametro per evitarne la logica potrebbe rendere i test inefficaci o addirittura inutili.

Vi consiglio di rivedere l'approccio usato e trovare un modo per 'mokkare' l'oggetto update così da testare correttamente le funzioni.

simone989 commented 6 months ago

Ciao Ragazzi, vorrei far emergere un punto importante riguardo alla logica aggiunta in questa pull request. L'intento dei test è verificare che la funzione si comporti come previsto in situazioni diverse. Introdurre un parametro come testing per saltare completamente la logica della funzione potrebbe compromettere l'integrità dei test stessi. Se la funzione è progettata per essere testata in un certo modo, l'aggiunta di un parametro per evitarne la logica potrebbe rendere i test inefficaci o addirittura inutili.

Vi consiglio di rivedere l'approccio usato e trovare un modo per 'mokkare' l'oggetto update così da testare correttamente le funzioni.

Ecco un breve esempio di come potete usare pytest_mock per mokkare l'oggetto update:

    from pytest_mock import MockerFixture

    def example_test(mocker: MockerFixture):
        update = mocker.Mock()
        update.message.reply_text = mocker.Mock()
        funzione_start(update,....)
        update.message.reply_text.assert_called_once_with("MESSAGE TO ASSERT")