I test passano in locale ma non online?

Scopri cosa fare quando i test passano in locale ma non online


A volte i test passano in locale sulla tua macchina ma non online.

Di solito ci sono alcuni motivi:

Non hai riattivato tutti i test

Molti esercizi di Exercism arrivano con alcuni test saltati. L'obiettivo è risolvere i test in ordine, riattivando il successivo man mano che procedi. Quando arrivi alla fine dell'esercizio, tutti i test dovrebbero essere riattivati e superati, e avrai una soluzione del tutto funzionante. Consulta la documentazione del track su cui stai lavorando per i dettagli specifici su come vengono saltati i test in quel linguaggio.

Quando eseguiamo i test online, prima riattiviamo tutti i test. Se in locale restano dei test saltati, potremmo quindi trovare dei casi limite che non hai considerato, e i test falliranno.

Usiamo versioni diverse

I test runner di Exercism usano una versione specifica del linguaggio. Potrebbe non essere la versione più aggiornata del linguaggio, perché dobbiamo aggiornare manualmente i nostri test runner quando esce una nuova versione del linguaggio.

Se i test falliscono online, controlla l'output (facendo clic sulla parola "Failed") e prova ad individuare cosa potrebbe non andare. Se capisci che il problema è dovuto a un disallineamento di versione, apri una issue sul repository del test runner corrispondente su GitHub. Di solito segue lo schema https://github.com/exercism/$SLUG-test-runner (ad esempio https://github.com/exercism/ruby-test-runner).