Вы не сказали, какое поведение вы видите, но я ожидаю, что две строки в CodeUnderTest будут отображаться как покрытые, но ни одна из других строк в файле не отображается. Coverage.py не может измерить выполнение, которое произошло до его запуска, и здесь оно не запускается до тех пор, пока модуль не будет выполнен. Например, строка import coverage
уже была выполнена к моменту начала покрытия. Кроме того, после начала охвата измерение начинается только после следующего вызова функции.
Простейший способ запустить cover.py - использовать его из командной строки. Таким образом, вы знаете, что это начинается как можно раньше:
$ coverage run my_prog.py arg1 arg2 ...
Если вам необходимо использовать его программно, расположите файл так, чтобы все интересующие вас исключения происходили внутри функции, которая вызывается после запуска покрытия.