В настоящее время я работаю над проектом, в котором мне нужно запустить тестовые примеры JUnit, а затем извлечь информацию из целевого класса (тестируемого класса). Чтобы извлечь рассмотренные заявления, я использовал eclEmma, но с помощью этого инструмента я могу только извлечь номера строк, которые были выполнены в Target после запуска тестового класса.Как извлечь логическое значение решения ветки?
Я хочу извлечь логические значения решений ветвления в операторах if, чтобы определить, какие условия проверяются при покрытии конкретной ветви true/false целевого класса.
Я знаю, что могу разбирать файл Java с помощью JavaParser, а затем извлекать следующую информацию, но я не уверен, как извлечь логическое значение решения ветви.
public void visit(IfStmt stmt, Void arg)
{
System.out.println(stmt.getCondition());
System.out.println(stmt.getElseStmt());
System.out.println(stmt.getThenStmt());
super.visit(stmt, null);
}
Возможный дубликат [Eclemma говорит, что 1 из 4 ветвей не покрыт, но какая ветка это?] (Http://stackoverflow.com/questions/15493094/eclemma-says-1-of-4-branches-not- покрытый но-которые-отрасль-это-то) – Godin