Когда мне следует объединить мои файлы сервера Cobertura, а не повторно использовать и добавлять их в один?

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

Почему бы просто не указывать один и тот же файл .ser для Cobertura каждый раз? Cobertura добавит новые данные в файл ser.

С другой стороны, при каких обстоятельствах следует использовать отдельные файлы .ser, а затем запускать команду cobertura-merge?


person Joshua Fox    schedule 06.12.2011    source источник


Ответы (1)


Одним из возможных примеров является случай, когда ваша кодовая база фрагментирована, скомпилирована и упакована независимо, и вы запускаете свои модульные тесты для каждой части независимо. Затем вы можете объединить свои файлы .ser, чтобы получить полную картину для вашего приложения.

Если вы используете «общие» модули для нескольких приложений/двоичных файлов, вы также можете получить более точную картину фактического охвата каждого приложения, особенно если это важно для вас.

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

Только объединив эти файлы .ser, вы получите точное представление о том, какие пути были выполнены, а какие не использовались в ЛЮБОМ из ваших тестовых сценариев.


Редактировать: я понимаю, что у меня был неполный ответ - мои извинения. Ты спрашивал

Почему бы просто не указывать один и тот же файл .ser для Cobertura каждый раз? Cobertura добавит новые данные в файл ser.

Однако я считаю, что это вопрос личных предпочтений. Прежде всего, чтобы иметь возможность «повторно использовать» файл .ser в последовательных сценариях тестирования, вам нужен какой-то тестовый конвейер без внешних зависимостей. Если вы выполнили это условие, то я не возражаю против того, чтобы сделать это таким образом, если это более практично для вас.

Лично я предпочитаю разбивать его на отдельные файлы .ser и объединять их позже. Во-первых, если один шаг завершается ошибкой и мне нужно выполнить его повторно, мне не нужно об этом беспокоиться. Кроме того, если вы когда-либо интересовались особенностями каждого шага тестирования, вы также можете получить отчет для него, тогда как в вашем сценарии конвейера вы не можете. Все равно не очень убедительно.

person Patrice M.    schedule 01.10.2013
comment
Это объясняет, когда следует объединять файлы ser, а не создавать полностью независимые отчеты. Каковы условия, при которых я должен добавлять все больше и больше информации в один файл ser с помощью нескольких независимых тестов по сравнению со слиянием файлов ser? - person Joshua Fox; 02.10.2013
comment
Я отредактировал свой ответ, чтобы попытаться ответить и на это. - person Patrice M.; 02.10.2013