Помимо использования no_plan, которое уже прокомментировано:
Что касается создания файла для чтения во время модульного тестирования, это может считаться приемлемым, хотя обычно избегают касаться файлов в модульных тестах (или любых других "медленных" ресурс), потому что это замедляет тесты.
Это может стать проблематичным, если много модульных тестов читает или записывает файл и если количество тестов слишком велико. Действительно, модульные тесты должны быть ненавязчивыми и выполняться в одно мгновение.
Если время выполнения ваших модульных тестов начинает становиться проблемой, вы можете либо извлечь тесты, которые обращаются к файловой системе, и добавить их в набор интеграционных тестов, который вы будете запускать реже, либо изменить свой код для разделения. вне чтения файла и обработки его содержимого. Таким образом, вы можете протестировать обработку содержимого независимо от чтения файла и сохранить данные в виде массива строк в коде вашего модульного теста.
Этот код имеет тенденцию быть более пригодным для повторного использования, поскольку то, что вы читаете сегодня в файле, может быть получено вчера из другого источника (например, сети, БД).