Я пишу модульный тест для встроенного программного кода в python.Как издеваться над существованием конкретного файла в тестовом модуле python?
Один из файлов требует наличия файла. (например, «/dir_name/file_name.txt»), в противном случае возникает ошибка.
Обычно этот файл существует на аппаратном устройстве, и мой код на Python читает этот файл. При написании модульных тестов для кода python, как я могу высмеять существование файла?
tempfile.mkstemp()
, похоже, не генерирует точное имя пути/файла, которое я хочу, это /dir_name/file_name.txt
. Он всегда добавляет некоторые случайные буквы.
Это с Python3.4. Можно ли это сделать с помощью unittest.mock
?
Вы * на самом деле * нужен этот штраф, чтобы существовать? Или вы спрашиваете, как вы можете издеваться над этим, чтобы все, что вы испытываете, думает, что оно существует? Можете ли вы предоставить образец своего кода и то, что вы тестируете? Я думаю, у меня есть идея, но я хотел бы посмотреть, каков ваш нынешний подход. – idjaw
Нет, он не должен существовать. Пока я могу сделать свой код _believe_, что файл существует, тогда все в порядке. – sh0731
Отлично. Можете ли вы показать часть кода, чтобы узнать, как удовлетворить решение? Здесь есть разные варианты, но было бы замечательно узнать, каков ваш нынешний подход - узнать, как дать более релевантное решение. – idjaw