У меня есть класс, который содержит кучу методов для проверки данных, которые я очищаю каждую неделю (для таких вещей, как корректность и другие ошибки при сборе данных). Каждый из этих методов выполняет тест, а затем выводит сводку теста.
Я хочу распечатать результаты этих тестов в файл, но я не уверен, что лучший способ это сделать. Например ...
- Должен ли класс содержать переменную экземпляра для файла, и каждый метод открывает / добавляет / закрывает файл? (Проблема в том, что методы иногда вызывают другие методы, так что это выглядит немного грязно?)
- Должен ли каждый метод передавать файл в качестве параметра? (Кажется, грязный.)
- Должен ли каждый метод возвращать строку, а "центральный" метод, который вызывает все остальные тесты, выводит все эти строки в файл?
Я не очень знаком с использованием библиотек логгеров - это будет решением?
Мой конкретный контекст
У меня есть скребок, который извлекает данные с различных сайтов и сохраняет их в базе данных. Веб-сайты постоянно меняются, поэтому я пишу программу «Scrape Checker», которая проверяет мои сообщения на наличие различных вещей, таких как:
- количество пустых результатов
- длина результатов
- странные символы в результатах
- и т. Д.
Итак, у меня есть такие методы, как:
- check_num_empty_results
- check_weird_characters
- check_scrape (вызывает кучу других чеков)
- check_scrape_pair (иногда я хочу проверить пары скрепок, например, чтобы сопоставить результаты друг с другом, так что это разные проверки каждой из них в отдельности)
- и т.д.
Я хочу, чтобы моя программа "Scrape Checker" распечатала файл, в котором перечислены все проверки.