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