Интегрирование созданных в командной строке файлов python .coverage с помощью PyDev

Моя среда сборки сконфигурирована для компиляции, запуска и создания файла покрытия в командной строке (с использованием инструмента Ned Batchelder coverage.py).

Я использую Eclipse с PyDev в качестве моего редактора, но по практическим соображениям мне не представляется возможным / удобным для меня преобразовать всю мою среду сборки в Eclipse (и, таким образом, генерировать данные о покрытии непосредственно из среды IDE, как это было сделано)

PyDev, похоже, использует тот же инструмент покрытия (или что-то очень похожее на него), чтобы генерировать информацию о своем охвате, поэтому я предполагаю, что какой-то способ интеграции моих внешних файлов покрытия в Eclipse / PyDev.

Любая идея о том, как это сделать?

2 Solutions collect form web for “Интегрирование созданных в командной строке файлов python .coverage с помощью PyDev”

Мне нужно было что-то вроде этого некоторое время назад, когда PyDev по-прежнему использовал более старую версию coverage.py чем тот, который был доступен со страницы создателя сценария.

Я обнаружил, где PyDev сохраняет свой файл .coverage . Для меня это было:

  C:\Users\Admin\workspace\.metadata\.plugins\org.python.pydev.debug\.coverage 

Затем я вручную запустил новую версию cover.py из отдельного скрипта и сказал ему сохранить его .coverage файл в том месте, где PyDev сохраняет его. Я не могу вспомнить, есть ли аргумент командной строки для coverage.py .coverage или если я просто скопировал файл .coverage со сценарием, но после этого, если вы просто откроете представление результатов покрытия кода и нажмите « Обновить информацию о покрытии»! , PyDev будет красиво обрабатывать данные, как если бы он сгенерировал сам файл.

Я ничего не знаю о интеграции PyDev в зону охвата. (Или даже если он используется даже с cover.py), но файлы .coverage довольно просты. Это словари марджзала.

Я не тестировал этот код, но вы можете попробовать это, чтобы объединить два файла .coverage в один:

 import marshal c1_dict = marshal.load(open(file_name_1, 'rb')) c2_dict = marshal.load(open(file_name_2, 'rb')) c1_dict.update(c2_dict) marshal.dump(c1_dict, open(file_name_out, 'wb')) 
Python - лучший язык программирования в мире.