Я использую emma для записи покрытия кода. Меня особенно интересует линейное покрытие (или процент строк). Мы планируем увеличить линейное покрытие для нашего исходного кода за счет автоматизации. Мы сначала выполняем сценарии вручную, а затем проверяем с помощью emma, есть ли увеличение %. Если есть, мы идем дальше и автоматизируем эту функцию. Я застрял в определенном блоке IF-ELSE, где я вижу желаемый результат, когда запускаю сценарий вручную. Но эмма не записывает реплику как крытую. Вот пример кода ниже
if (a == null)
{
final class1 c1 = new class1();
if (c1.isSE())
{
c1.sendRedirect(req, res, "error.html");
}
else
{
c1.sendRedirect(req, res, "testpage.html");
}
return;
}
Первые 3 строки в отчете emma выделены зеленым цветом. Но следующие строки ниже в отчете emma выделены красным (это означает, что они не покрыты)
c1.sendRedirect(req, res, "error.html");
c1.sendRedirect(req, res, "testpage.html");
return;
Но когда я выполняю сценарий вручную, я вижу желаемый результат (т. е. меня перенаправляют на страницу testpage.html). Почему emma не записывает эту строку как скрытую?
Примечание. Я пробовал следующее устранение неполадок, описанное ниже (упомянутое в http://emma.sourceforge.net/faq.html. а> )
3.18. EMMA начала сообщать, что она инструментировала 0 классов, несмотря на то, что я дал ей некоторую информацию...
Вас может сбить с толку инкрементальный характер инструментов EMMA. При отладке сборки с поддержкой EMMA попробуйте выполнить чистую перекомпиляцию и/или удалить вручную все каталоги вывода инструментов и все файлы .em/.ec, чтобы сбросить EMMA до чистого состояния.