Как проверить, вызывает ли объект экземпляра свои методы с набором аргументов? - PullRequest
0 голосов
/ 04 июня 2019

У меня есть функция на уровне модуля, которую я тестирую.Он создает и инициализирует файловую переменную, и мне нужно утверждать, если операция записи в файл происходит с правильным набором аргументов.Как мне проверить, что write () был вызван вообще на файл.Например, что мне здесь и как издеваться?

# inside myfolder/mymodule.py
def myfunction():
   file = open("path/to/file", "a+")
   file.write("sample text")

#I need to make sure that file.write() is called with the string "sample text" in my test.
#Using mock.

1 Ответ

0 голосов
/ 04 июня 2019

Вы можете издеваться надписью:

def myfunction(file):
   file.write("sample text")

на макете (просто в качестве простого примера):

class MockedFile():
    def __init__():
        self.was_called = 0
    def write():
        self.was_called += 1
    def assert():
        assert self.was_called > 0

mocked_file = MockedFile()
myfunction(mocked_file)
mocked_file.assert()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...