2009-06-13 8 views
2

Недавно я столкнулся с проблемой объединения модульных тестов и доктрин в 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 использует некоторые эвристики для сравнения результатов, как многоточие.

Может кто-нибудь дать идею или предложения?

ответ

 Смежные вопросы

  • Нет связанных вопросов^_^