Salut,
Il y a plusieurs types de test que l'on peut faire tout au long du développement et pour te les présenter, on va partir sur un exemple simple, l'inscription d'un utilisateur. Tu aura donc une page avec un formulaire pour t'inscrire et quand l'utilisateur va cliquer sur le bouton de validation ça doit vérifier que l'e-mail n'existe pas par exemple et si tout est bon ça doit l'inscrire et lui envoyer un mail.
Au niveau des tests unitaires, tu vas tester que quand tu passes le tableau à ton model il insère bien les bonnes données en base. Si tu as fait une fonction qui check l'e-mail, tu vas tester que si tu passes abc@def.com ça te retourne bien true et si tu donnes abc@def ça te retourne false. On test donc unitaire chaque fonction.
Ensuite, vient les test d'intégration ou en gros, tu vas plutôt tester ta route et dire si j'envoie en POST sur /register avec ces données-là ça doit faire ça, ça et ça.
Enfin, il y a les tests fonctionnels ou en gros, on va tester l'interface comme un vrai client. Sur laravel avec dusk ça t'ouvre en gros un chromium (chrome version open source) qui sera comme un navigateur et la, tu diras, quand je mets dans le champs e-mail tel e-mail, le champs password tel mot de passe et que je clique sur le bouton, je dois attendre d'être redirigé et je devrais atterrir sur /login avec le message dans une div qui aura écrit "Merci de confirmer votre e-mail".
Donc, oui, les tests unitaires ne servent pas à tous les cas, mais il faut en faire dès que ça devient un peu complexe comme par exemple supprimé un commentaire doit bien supprimer tous les commentaires enfant de ce dernier.