我目前正在做一个项目,我需要在其中运行 JUnit 测试用例,然后从目标类(正在测试的类)中提取信息。为了提取所涵盖的语句,我使用了 eclEmma,但是使用这个工具我只能提取运行测试类后在目标中执行的行号。
我想在 if 语句中提取分支决策的布尔值,以得出在覆盖目标类的特定真/假分支时验证哪些条件。
我知道我可以使用 JavaParser 解析 Java 文件,然后提取以下信息,但我不确定如何提取分支决策的布尔值。
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);
}