Pondérez par le risque plutôt que par le dogme de la pyramide. Des tests unitaires pour la logique pure et les cas limites, une bonne couche de tests d'intégration qui tapent une vraie base dans un conteneur, et un petit nombre de tests de bout en bout couvrant les parcours qui font perdre de l'argent s'ils cassent, comme l'inscription, le paiement et le login. Mockez les tiers à la frontière réseau plutôt que de stubber vos propres modules.
Pourquoi les recruteurs posent cette question
Le recruteur veut savoir si vos tests attraperaient de vrais bugs ou gonfleraient juste un chiffre de couverture. Il écoute les tests d'intégration contre une vraie base, parce que mocker l'ORM est la façon la plus courante d'écrire des tests qui passent pendant que la production casse. Il veut aussi vous entendre parler de la gestion des tests de bout en bout instables, puisque c'est ce qui tue vraiment une suite avec le temps.
Comment structurer votre réponse
- Énoncez le principe : testez là où est le risque.
- Décrivez chaque couche et ce dont elle est responsable.
- Expliquez où vous placez la frontière de mocking.
- Dites comment vous gardez la suite rapide et digne de confiance.
Exemple de réponse
Ma règle directrice, c'est qu'un test vaut la peine d'être écrit s'il aurait attrapé un bug qu'on aurait plausiblement livré. La logique pure, les règles de tarification, la gestion des dates, les contrôles de permissions, reçoivent des tests unitaires rapides avec les cas limites tordus. La couche dans laquelle j'investis le plus, c'est l'intégration : vraie requête HTTP dans l'application, vrai Postgres dans un conteneur, vraies migrations, assertion sur la réponse et sur les lignes qui en résultent. Ça attrape ce que les mocks cachent, comme une violation de contrainte ou une requête qui ne renvoie silencieusement rien. Les tiers sont mockés à la frontière réseau avec quelque chose comme MSW ou une fixture enregistrée, jamais en stubbant ma propre classe de service, parce que sinon je teste le mock. Le bout en bout, je le garde délibérément petit, peut-être huit parcours couvrant inscription, login, paiement et le flux principal, exécutés à chaque merge. L'instabilité, c'est le point sur lequel je suis impitoyable ; un test qui échoue au hasard apprend aux gens à relancer le pipeline, donc je le répare ou je le supprime dans la journée. La couverture, je la regarde comme un diagnostic, jamais comme un objectif.
Vous passez cet entretien bientôt ? GhostPilot écoute votre appel en direct, repère la question dès qu'elle est posée et affiche une réponse structurée à l'écran en temps réel. Essayez-le lors de votre prochain entretien blanc, ou prenez un Session Pass à $29, sans abonnement, pour le jour J.
Voir comment ça marcheQuestions de relance à prévoir
- Comment mettez-vous en place et détruisez-vous les données de test entre les exécutions ?
- Que faites-vous quand un test de bout en bout est instable ?
- Comment testez-vous un composant React qui récupère des données ?
Autres questions pour Développeur full stack
Votre recruteur posera sa propre version de celle-ci. Collez votre véritable fiche de poste dans le Question Predictor gratuit et obtenez les 20 questions que ce poste a le plus de chances de poser, avec ce que chacune cherche vraiment à sonder.
Prédire mes questions