Python Покрытие говорит, что линия А покрыта, нужно знать откуда - PullRequest
1 голос
/ 06 февраля 2020

У меня есть отчет о покрытии, который может быть ложным или искаженным . Это говорит о том, что у меня есть покрытие для линии в моем коде модели Django. Я не вижу, где проходит эта линия. Я вижу, что модуль импортирован, что класс импортирован, но не то, что он вызывается / создается.

Таким образом, в отчете о покрытии говорится, что у меня есть линия A покрыта. Предположительно, это означает, что Линия B где-то ее использует. Я хотел бы знать, где находится линия В. Есть ли способ найти набор строк-B (один или несколько), которые вызывают линию A, в моих тестах?

Кажется, это может быть аннотация в отчете о покрытии как-то / где-то. Это определенно понятно, так как освещение должно отслеживать используемую вещь.

Я этого не вижу.

Если это не будет реализовано, я хотел бы предложить это. Я знаю, что он может быть слишком сложным в качестве трассировки полного стека для каждой строки исполнения. Но, может быть, просто проверка кадра непосредственного вызова будет хорошим началом и полезной.

1 Ответ

0 голосов
/ 08 февраля 2020

Новое в cover.py 5.0: dynamici c contextx , которое может сказать вам, какой тест выполнял каждую строку кода. Он не скажет вам, кто звонит по прямой линии, но это начало.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...