Андрей СветловЯ бы сказал проще. Он не имеет смысла, так как не имеет смысл тестировать <=. К этой идее я и подвожу :)
Сам по себе _test_html_fresh не имеет смысла (по крайней мере в моем случае) - это по сути staticmethod, так как не может вызывать методы экземпляра (потенциально небезопасные).
Так же бессмысленно проверять стандартные библиотечные функции.
Андрей СветловА тут следующая идея. Какая обязанность у класса Post? В основном - обращение к библиотечным средствам. Высокоуровневых действий мало. Вот они:
Попробуйте написать аналог для refresh_html.
self.full_path[:-4] + '.html'
...
if 'title' in md.Meta:
title = ' '.join(md.Meta['title'])
self.title = title
Примечание: не понял, зачем во втором отрывке нужен title. Кроме того, мне интересно, что будет, если в параметр rst_file конструктора Post передать пустую строку.
Андрей СветловПроблема в том, что сам класс Post по сути является двойником этого FileSystem. А имеет ли смысл тестировать классы FileSystem и Impl?
Подмена FileSystem всяко лучше и удобней.
Ок. Ещё раз спасибо за терпение.
Кстати, хорошо бы к таким статьям прикладывать список литературы. Ссылки на книжки Майкла Физерса, Стива Макконнелла можно было бы поместить.