我目前正在开发一个项目,在该项目中需要运行JUnit测试用例,然后从目标类(正在测试的类)中提取信息。为了提取覆盖的语句,我使用了eclEmma,但是使用这个工具,我只能够在运行测试类之后提取在Target中执行的行号。如何提取分支决策的布尔值?
我想提取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);
}
可能重复的[Eclemma说4分支中没有1分支,但哪个分支是?](http://stackoverflow.com/questions/15493094/eclemma-says-1-of-4-branches-not-覆盖,但是,其分支 - 是 - 它) – Godin