Во-первых, вы используете переменную класса (@@log
), когда вам нужна переменная экземпляра (@log
). Но на самом деле нет никаких оснований для использования.
Я бы разделил эти методы следующим образом, чтобы вы могли проверить их изолированно:
- Один метод, который читает файл в массив и возвращает массив
- Один метод, который принимает массив и форматирует его так, как вы хотите, возвращая отформатированный массив
В настоящее время ваши методы тесно связаны, поскольку они оба используют переменную экземпляра, и это делает тестирование сложнее, чем нужно (вы должны настроить или подделать вызов первого метода, чтобы начать тестирование второго) .
Вы можете протестировать первый метод с помощью чего-то вроде FakeFS , чтобы прочитать содержимое (поддельного) файла. Действительно, хотя этот метод должен быть довольно тривиальным, и вам, возможно, даже не придется его тестировать.
Второй метод легче проверить при удалении соединения с первым. Создайте массив строк из файла, который вы собираетесь анализировать, и передайте его методу и проверьте результат.