При выполнении некоторых модульных тестов java DB, которые вызывают скрипт python, как я могу проверить покрытие кода для скрипта python? - PullRequest
0 голосов
/ 20 сентября 2010

У меня есть скрипт на python, который генерирует некоторые отчеты на основе БД. Я тестирую сценарий с использованием java Db Units, которые вызывают скрипт python. Мой вопрос заключается в том, как я могу проверить покрытие кода для сценария Python, когда я использую модули БД?

Ответы [ 2 ]

0 голосов
/ 20 сентября 2010

Coverage.py имеет API , который можно использовать для запуска и остановки измерения покрытия по мере необходимости.

Я не уверен, как вы вызываетеваш Python-код из вашего Java-кода, но, попав в Python, вы можете использовать cover.py для измерения выполнения Python, а затем получать отчеты о результатах.

Напишите мне, если вам нужна помощь.

0 голосов
/ 20 сентября 2010

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

Тем не менее, ИМХО, это неправильный подход по разным причинам.

  1. Межъязыковой язык исключает тесты из-за того, что их описывают как «юнит». Это функциональные тесты. и, следовательно, не должно заботиться о покрытии кода (см. Комментарий @ Неда ниже).
  2. Если вы должны (юнит) протестировать код Python, тогда я предлагаю вам сделать это с помощью Python. Это также решит проблему проверки покрытия тестами.
  3. Если вы хотите выполнить функциональное тестирование, то было бы неплохо держать проверки покрытия кода Python отдельно от Java. Это уменьшит связь между кодом Java и Python. В конце концов, тесты - это код, и обычно хорошей идеей является уменьшение связи между частями.
...