Pytest: Comment tester une fonction de saisie de l'appel?

J'ai une console de programme écrit en Python. Il demande à l'utilisateur de questions à l'aide de la commande:

some_input = input('Answer the question:', ...)

Comment pourrais-je tester une fonction contenant un appel à input à l'aide de pytest?
Je ne voudrais pas forcer un testeur de saisie de texte à plusieurs reprises seulement de terminer une série de tests.

  • Avez-vous regarder à travers des tutoriels sur la façon d'utiliser pytest pour voir ce que vous pouvez essayer? C'est une assez vaste question à se poser.
  • Pas récemment. J'ai utilisé pytest avant, mais il est venu à mon esprit quand penser à faire du TDD pour mon projet ici et je n'ai aucune idée de comment le résoudre. Je vais jeter un oeil à ceux-tuts de nouveau.
  • Dans votre fonction de test, vous pouvez réaffecter les input() la fonction de quelque chose d'autre (aussi connu comme "monkey patching" ou de "shadowing").
  • Pas une mauvaise idée, qui pourrait être la voie.
  • Relative (sans doublon): stackoverflow.com/questions/6271947/...