2016-05-13 2 views
0

Я написал модуль с несколькими функциями вместе с их доктринами, и я хотел бы запустить эти тесты для функций с теми же именами, но написанными кем-то другим.Запуск доктрин с использованием другой функции

документация содержит следующий фрагмент кода для извлечения всех тестов для somefunction в mymodule, а затем запускать их обычным способом (как бег doctest.testmod()):

TESTS = doctest.DocTestFinder().find(mymodule.somefunction) 
DTR = doctest.DocTestRunner(verbose=True) 
for test in TESTS: 
    print (test.name, '->', DTR.run(test)) 

Но я не знаю, куда идти отсюда чтобы эти тесты выполнялись на theirmodule.somefunction. Я попытался изменить поле filename от mymodule до theirmodule в объектах Example для каждого теста, но безрезультатно. Кто-нибудь знает, как добиться этого?

ответ

0

Это может быть не самым элегантным решением, а просто скопировать мои строки документации к их функциям в моем сценарии работы:

theirmodule.somefunction.__doc__ = mymodule.somefunction.__doc__ 

И тогда мне нужно только запустить фрагмент кода в моем вопросе о theirmodule.somefunction.