Vous venez de rencontrer le problème logiciel le plus difficile de tous : les gens. Bien que j'hésite à remettre en question votre patron sans plus de contexte (par exemple, est-ce vraiment la photo complète des tests ?), un rejet total de votre code simplement parce que vous avez inclus des tests unitaires est une pratique discutable au mieux.
La route la plus judicieuse est d'avoir une discussion en tête-à-tête avec cette personne afin de comprendre sa position. Vous décrivez votre patron comme étant réticent au changement, mais généralement les gens ne sont pas si tranchés. Par exemple, peut-être considère-t-il le volume de code que vous soumettez comme risqué étant donné votre nouveau statut sur le projet, sans comprendre que vos tests unitaires vous permettent d'écrire plus de code parce que vous pouvez avoir plus confiance en celui-ci. Donc, je lui laisserais le bénéfice du doute, et j'aurais d'abord une conversation sincère avec lui.
Voici quelques questions à poser lors de votre conversation :
-
Quels sont vos avis sur les tests unitaires ? Comment s'intègrent-ils dans notre stratégie de test globale ?
-
Quels sont vos problèmes avec les tests unitaires que j'ai soumis ? Sont-ils insuffisants ou manquent-ils de quelque façon ? Êtes-vous okay avec les tests unitaires eux-mêmes, mais préféreriez-vous que mon code soit organisé différemment ?
-
Pourquoi tous nos codes devraient-ils être testés au niveau fonctionnel ?
-
Tous les tests unitaires sont-ils mauvais ou inappropriés pour notre projet?
-
Comment comptez-vous découvrir les problèmes liés aux entrées spécifiques des méthodes lorsque ces conditions sont plus complexes à reproduire à des niveaux d'interface plus élevés ?
-
Si vous avez une objection spécifique aux tests unitaires étant validés, y a-t-il vraiment une objection à utiliser les tests unitaires localement pour que je puisse au moins vérifier mon propre code ?
Si vous sentez que vous comprenez maintenant sa position et qu'elle est intenable avec la façon dont vous voulez écrire des logiciels, vous avez une autre question à vous poser : Aimez-vous suffisamment le travail pour rester dans l'équipe malgré les pratiques professionnellement discutables, ou est-il temps de commencer à chercher ailleurs ?
À l'inverse, si vous pensez maintenant comprendre pourquoi la règle est là et que vous pensez qu'elle est judicieuse à la lumière du contexte global du projet, alors hourra ! Vous avez évité une crise potentielle en agissant de manière professionnelle, vous pouvez rester avec votre nouvelle équipe, et vous pouvez retourner à la partie amusante : le développement de logiciels.
Éditer : Je ne peux vraiment pas être d'accord avec certains des messages dans cette question disant à l'OP de s'adapter à l'équipe. La normalisation des pratiques n'est bonne que lorsque l'équipe adhère à la pratique. Au lieu de dire à l'OP de serrer les dents et de se conformer, nous devrions l'encourager à comprendre pourquoi la règle est en place, afin qu'il puisse évaluer si elle a du sens en fonction de ses propres mérites.
Le manager a également des explications à fournir pour aider l'OP à voir les choses de son point de vue. Bien sûr, tout le monde ne sera pas d'accord avec les managers tout le temps. J'ai dirigé des projets ou des équipes, et j'ai pris mes propres décisions qui ne pouvaient pas plaire à tout le monde, mais j'ai toujours essayé de les prendre avec les contributions de tout le monde d'abord, afin de pouvoir arriver à la meilleure décision. À mon avis, imposer un ensemble de "normes" par décret managérial sans tenir compte de l'impact sur l'équipe et en ignorant les suggestions alternatives fait de vous un mauvais manager, pas un bon.