Я играл сcoverage.py, но не могу заставить его собрать покрытие для модуля __main__.
Я работаю в Windows и люблю создавать сценарии с помощью IDLE. Цикл редактирования-нажатия-F5 действительно удобен, быстр и интересен. К сожалению, похоже, что cover.py не может (или не хочет) собрать покрытие основного модуля — в приведенном ниже коде он сообщает, что данные не собираются. Мой код выглядит так:
import coverage
cov = coverage.coverage()
cov.start()
def CodeUnderTest():
print 'do stuff'
return True
assert CodeUnderTest()
cov.stop()
cov.save()
cov.html_report()
У кого-нибудь есть идеи? Пробовал разные варианты покрытия, но безрезультатно. Похоже, что среда, которую создает IDLE, не очень дружелюбна к покрытию, поскольку sys.modules['__main__'] указывает на файл idle.pyw, а не на файл, в котором он запущен.