120 votes

Affirmer qu’une méthode a été appelée dans un test unitaire Python

Supposons que j’ai le code suivant dans un test unitaire Python :

Existe-t-il un moyen facile d’affirmer qu’une méthode particulière (dans mon `` cas) a été appelée pendant la deuxième ligne du test? Par exemple, y a-t-il quelque chose comme ceci:

32voto

Devy Points 588

Oui si vous utilisez Python 3.3+. Vous pouvez utiliser l’intégré `` pour déclarer la méthode appelée. Pour Python 2.6+, utilisez le rétroportage de roulement `` , ce qui est la même chose.

Voici un exemple rapide dans votre cas:

14voto

Glenn Maynard Points 24451

Je ne suis pas au courant de quoi que ce soit intégré. C’est assez simple à mettre en œuvre:

Cela nécessite que l’objet lui-même ne modifie pas l’auto.b, ce qui est presque toujours vrai.

5voto

Max Shawabkeh Points 19030

Vous pouvez vous moquer `` de , manuellement ou à l’aide d’un framework de test comme pymox. Manuellement, vous le feriez en utilisant quelque chose comme ceci:

En utilisant pymox, vous le feriez comme ceci:

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X