我目前正在開發一個項目,在該項目中需要運行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