2

我正在尝试为我的代码做一些 JUnit 测试。但问题是,我使用了 ICompilationUnit、IPackageFragment、ITypes 等 Java 模型。我不知道如何创建一些 ICompilationUnit 然后进行测试。我在 google 和 stackoverflow 上搜索了信息,但没有找到任何东西。

我的问题是,如何使用 jdt.core 的类进行 Junit 测试......有人可以给我一些代码示例。

谢谢

这是我编码的方法:

private void updateLists() {

    if(!getCompilationUnit().isEmpty()){

        for(int i = 0;  i < getCompilationUnit().size(); i++){

        try {

                Document doc = new Document(getCompilationUnit().get(i).getSource());

                int totalNumberOfCode = doc.getNumberOfLines();

                IType type = getCompilationUnit().get(i).findPrimaryType();                 

                                    IType[] types = getCompilationUnit().get(i).getTypes();

                updateListPrimaryType(type, totalNumberOfCode, types);

                updateListIMethod(type);
                updateListMember(type,types);


            } catch (JavaModelException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
    }
}
4

1 回答 1

1

这段代码展示了如何使用 Java AST 解析器获取一些 Java 源代码(在变量 javaSource 中)并从中获取 ICompilationUnit。您可以通过使用插件 org.eclipse.jdt.core 作为依赖项来获取这些类。

import org.eclipse.jdt.core.dom.ASTParser;

String javaSource = "some java source"'

    // see org.eclipse.jdt.core.dom.AST for a complete
    // list of supported levels.
ASTParser parser = ASTParser.newParser(AST.JLS2);
parser.setSource(javaSource.toCharArray());
CompilationUnit unit = (CompilationUnit) parser.createAST(null);
于 2012-08-19T14:37:22.277 回答