(Этот вопрос кажется очень широким, поэтому я обеспечиваю столь же широкий ответ, надеюсь, вы найдете ее полезной.)
EclEmma является Java Code Coverage плагин для Eclipse. Он использует библиотеку под названием JaCoCo для обеспечения охвата кода. Изучение исходного кода этого проекта с открытым исходным кодом может быть лучшим способом понять, как реализовать собственный профилировщик (или, возможно, внести изменения в EclEmma вместо этого).
Исходный репозиторий для JaCoCo находится на github: https://github.com/jacoco/jacoco, но CoreTutorial
, вероятно, является хорошим местом для начала.
Ключевой частью обучающей программы является:
// Together with the original class definition we can calculate coverage
// information:
final CoverageBuilder coverageBuilder = new CoverageBuilder();
final Analyzer analyzer = new Analyzer(executionData, coverageBuilder);
analyzer.analyzeClass(getTargetClass(targetName), targetName);
Круги чуть позже, распечатав информацию строки:
printCounter("lines", cc.getLineCounter());
Есть две совершенно отдельные вопросы здесь делает его трудным для любого, чтобы ответить поскольку они требуют знания различных аспектов Eclipse. –
Хорошо, я отредактировал вопрос, чтобы сосредоточиться на одном аспекте – ammar26