О каких «ценностях» вы говорите, предлагая?
Покрытие кода работает путем проверки того, какие строки / методы / классы и т. Д. Выполняются во время определенного сеанса. Обычно это используется при запуске автоматических модульных тестов, но это не обязательно (например, вы можете настроить веб-приложение перед его развертыванием для тестирования дыма, чтобы получить представление о том, какие пути кода вы не использовали в своих специальных тестах) .
Способ увеличить охват - просто убедиться, что вы вызываете больше методов с аргументами, которые выполняют больше внутренних ветвей, в контексте того, что вы измеряете (например, модульные тесты). Ни один инструмент не скажет вам точно, что написать для этого - они выделяют то, что не было проверено, и вы сами должны написать тест, который это сделает.
Если ваш вопрос не был «какой инструмент покрытия дает самые высокие измерения для покрытия», в этом случае это плохой критерий для оценки пригодности.
РЕДАКТИРОВАТЬ - вы также должны понимать, что цель тестов не состоит в том, чтобы получить хорошие оценки покрытия . Покрытие кода полезно только для того, чтобы показать, какой код определенно не проверен . Класс может по-прежнему иметь 100% покрытие без каких-либо полезных тестов (например, тривиально, те, у которых нет каких-либо утверждений - или, более часто, те, чьи утверждения также проходят для некоторых ошибочных значений).
Таким образом, если вы пишете тесты исключительно с целью увеличения охвата, ваши тесты будут мусором и ничего вам не дадут. Пишите тесты, изначально думая исключительно о функциональности класса, и только когда вы думаете, что я закончил, запустите его через инструмент покрытия. Используйте выходные данные инструмента, чтобы вы могли видеть блоки кода, которые не были выполнены, что может означать, что вам нужно написать больше тестов, проходящих на разных входах. И, прежде всего, при написании тестов всегда будьте уверены в том, что именно вы тестируете, и какие результаты должны быть успешными и неудачными.