pytest: Как смоделировать несуществующий открытый файл? - PullRequest
0 голосов
/ 04 ноября 2018

Я новичок в pytest. Рассмотрим следующий код

def myFunc():
    with open('/tmp/file.json', 'r') as f:
         json_data = json.load(f)
    return

Как написать контрольный пример для этой функции? Обратите внимание, что /tmp/file.json не будет присутствовать на сервере, на котором выполняется UnitTest

1 Ответ

0 голосов
/ 27 февраля 2019

Вы выбрали неудачный кусок кода, чтобы начать испытывать модульное тестирование: функция, подобная myFunc, обычно не тестируется модулем: наоборот, такие функции часто создаются, чтобы отделить взаимодействия с окружением от " остальная часть кода ", просто чтобы сделать эту" остальную часть кода "легче для модульного тестирования. Затем, когда проверяется «остальная часть кода», myFunc можно заменить на макет, чтобы можно было смоделировать различное содержимое файла или отсутствующие файлы.

Для таких функций тестирования, как myFunc, интеграционное тестирование (которое сильно отличается от модульного тестирования) является более подходящим подходом к тестированию.

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