Недавно я столкнулся с проблемой объединения модульных тестов и доктрин в Python. Я работал над этой проблемой по-другому, но у меня все еще есть вопрос об этом.Использование doctest "парсер результатов" в модульных тестах в Python?
Модуль доктрины Python анализирует docstrings в модуле и запускает команды, следующие за «>>>» в начале каждой строки, и сравнивает их вывод и записи в докстроках.
Интересно, что я мог бы использовать , что метод сравнения, реализованный модулем doctest, когда я хочу. Я знаю, что возможно добавить doctest для тестирования пакета в качестве тестового примера, но здесь я хочу сделать это в одном тестовом случае.
Это что-то вроде этого:
class MyTest(TestCase):
def testIt(self):
# some codes like self.assertEqual(...)
output = StringIO()
with StdoutCollector(output):
# do something that uses stdout
# I want something like this:
doctest.compare_result(output.getvalue(), 'expected output')
# do more things
Поскольку doctest использует некоторые эвристики для сравнения результатов, как многоточие.
Может кто-нибудь дать идею или предложения?
Спасибо, это именно то, что я искал. – Achimnol