problème avec mock open pour tester un programme qui lit les…

Page principale

Répondre à ce message
Auteur: Odile Lambert
Date:  
À: liste technique la guilde
Sujet: problème avec mock open pour tester un programme qui lit les ifhicers octe par octet






BOnjour
je veux écrire les tests pour un programme qui lit octet par
      octet une fichier binaire. J'utilise la fonction mock_open de
      unittest pour lire les données en mémoire au lieu du fichier mais
      je n'arrive pas à faire en sorte que ce mock lise les octes un par
      un.

Voici ce que j'ai écris :
        # defines the mock fucntion to replace open
              mocked_open_function =
      mock_open(read_data=self.content1018)

              
# adds iter and next to the mocked function
              mocked_open_function.return_value.__iter__ = lambda self:
      self

              mocked_open_function.return_value.__next__ = lambda self:
      next(iter(self.read, b''))

la fonction mocked est bien appelée mais elle lit le fichier en
      une seule fois; 


Je me suis inspirée de ce post sur stack overflow
https://stackoverflow.com/questions/24779893/customizing-unittest-mock-mock-open-for-iteration
Mais je n'arrive pas à aller plus loin!....
SI quelqu'un a une piste!.....
Merci

Odile