jdt.core Java 模型的 JUnit 测试

2024-03-09

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

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

Thanks

这是我编码的方法:

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();
            }
        }
    }
}

此代码片段展示了如何使用 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);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

jdt.core Java 模型的 JUnit 测试 的相关文章

  • Hibernate 每个子类一个表继承策略的效率

    我正在考虑 Hibernate 管理的类层次结构的表布局 当然 每个子类表技术在我看来是一般意义上最合适的 然而 通过逻辑思考 我对其性能有些担忧 尤其是随着子类数量的扩展 举一个非常简短 且经典 的示例 假设您有以下类 public ab
  • 解析 (yyyy-MM-dd) 格式的字符串日期

    我有一个 2013 09 18 形式的字符串 我想将其转换为 java util Date 我正在做这个 SimpleDateFormat sdf new SimpleDateFormat yyyy MM dd Date converted
  • 为什么 Android Eclipse 不断刷新外部文件夹并花费很长时间?

    我只有一部新的 Android 手机 我一直在修补一些基本的应用程序 每当我保存任何内容时 Eclipse 的 Android 插件就会刷新外部文件夹 这让我抓狂 通常我不会介意 但当需要 10 秒才能刷新时 我开始注意到 我已经搜索过 其
  • Grails 项目 - Servlet 调用 - ClassNotFoundException:javax.servlet.AsyncContext

    我在用 IntelliJ IDEA 终极版 12 4 grails 2 2 0 BuildConfig groovy 文件中的 grails servlet version 2 5 并实现了简单的 servlet post 请求 使用 RE
  • Eclipse 无法识别 persistence.xml 的内容

    我在 eclipse 中收到以下错误 persistence xml 文件没有可识别的内容 我的 persistence xml 文件在我的应用程序中工作得很好 但 eclipse 一直给我这个错误 我在移动文件并使用 m2eclipse
  • 为什么当达到 InitiatingHeapOccupancyPercent 时 G1 不开始标记周期?

    根据文档 http www oracle com technetwork articles java g1gc 1984535 html XX InitiatingHeapOccupancyPercent 设置触发标记周期的Java堆占用阈
  • SSLContext 初始化

    我正在看JSSE参考指南 我需要获取一个实例SSLContext为了创建一个SSLEngine 所以我可以使用它Netty以启用安全性 获取实例SSLContext I use SSLContext getInstance 我看到该方法被重
  • Android jUnit 测试 java.lang.NoClassDefFoundError: android/database/sqlite/SQLiteOpenHelper

    我正在尝试运行一个模拟子类的单元测试SQLiteOpenHelper但我收到以下错误 java lang NoClassDefFoundError android database sqlite SQLiteOpenHelper at ja
  • 在 java 8 下使用泛型出现类型错误,但在 java 7 下则不然

    我有一段代码可以在 java 7 下编译良好 但不能在 java 8 下编译 这是一个独立的重现示例 我已经采用了显示此问题的真实代码并删除了所有实现 import java util Iterator class ASTNode
  • Java ArrayList 和 HashMap 动态

    有人可以提供一个创建Java的例子吗ArrayList and HashMap在飞行中 所以而不是做一个add or put 实际上在类实例化时为数组 哈希提供种子数据 举个例子 类似于 PHP 的例子 array array 3 1 2
  • Java 声音可视化器

    我正在尝试制作一个java声音可视化工具 但我完全不知道如何在实时处理音频后立即从提取的音频中获取字节 我可以将程序与 wav 文件同步 但这不是我想要做的 我想用程序生成声音 然后播放它 而不将其保存在任何地方 谢谢您的帮助 本文可以帮助
  • 不使用 length() 方法的字符串长度[关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 如何在不使用字符串的情况下找到字符串的长度length String类的方法 str toCharArray length应该管用 或者怎么
  • 将 Maven 控制台与 m2eclipse 一起使用

    Maven 新手在这里 有没有办法在 Eclipse 中打开控制台并在 M2Eclipse 插件上执行 Maven 命令 这是一个非常好的插件 但我环顾四周 没有找到我想要的一些功能 谢谢 如果你想运行特定的maven插件 你可以这样做 g
  • Jersey 和 Spring 中的全局异常处理?

    我正在使用 Jersey 和 Spring 3 2 以及 Open CMIS 开发 RESTful Web 服务 我没有使用 Spring 的 MVC 模式 它只是 Spring IOC 和 Jersey SpringServlet 控制器
  • Log4j 2.0 中发现 ClassNotFoundException

    我已经设置了 log4j12 api beta2 jar 的构建路径 但它给出了 以下错误请帮我解决这个问题我的代码如下 java 文件 package com sst log4j class Product private int pro
  • “强制更新快照/版本” - 这是什么意思

    在 Maven 项目中 选择 更新项目 时 有一个名为 强制更新快照 版本 的选项 它有什么作用 强制更新快照 版本 就像运行以下命令 mvn U install U 也可以用作 update snapshot 看here http boo
  • java mysql 准备好的语句

    我正在尝试使用 java 向数据库中进行简单的插入 它告诉我我的 sql 语法已关闭 但是 当我复制打印出来的字符串并将其放入 phpmyadmin 中的 sql 命令中时 它会正确执行该命令 并且我似乎无法弄清楚 java 中的字符串查询
  • 将 SQL 数据中的一行映射到 Java 对象

    我有一个 Java 类 其实例字段 以及匹配的 setter 方法 与 SQL 数据库表的列名相匹配 我想优雅地从表中获取一行 到 ResultSet 中 并将其映射到此类的实例 例如 我有一个 Student 类 其中包含实例字段 FNA
  • Java有没有类似微软CHESS的工具?

    是否有类似于 Microsoft 的现有 Java 工具CHESS http research microsoft com chess 或者 CHESS 源代码是否开放 以便我可以尝试将其转换为 Java 谷歌的织线工 http code
  • removeall 和removeif 的用例

    我找到了这个 fun main val list MutableList

随机推荐

  • 在MFC项目中使用多个资源文件

    我在 VS2015 中使用 MFC C 11 并且有一组独立的 GUI 我想在多个项目中使用它们 我知道这可以通过创建一个 rc 文件来实现 该文件可以包含在每个项目的主 rc 文件中 使用多个资源文件 https msdn microso
  • System.DirectoryServices.DirectoryServicesCOMException:发生操作错误

    我有相同的网络应用程序在其他三台服务器上运行 有人知道为什么第四台服务器无法工作吗 查看错误和堆栈跟踪 发生操作错误 描述 执行期间发生未处理的异常 当前的网络请求 请查看堆栈跟踪以了解更多信息 有关错误及其在代码中的来源的信息 异常详细信
  • 重新定位 Jquery UI 自动完成结果框

    我正在使用 Jquery UI 自动完成插件作为直接的搜索词建议工具 它已启动并运行 没有任何问题 只是我无法移动结果框 我基本上需要将其向左移动 20 像素 向下移动 4 像素 我尝试覆盖 Jquery UI CSS 但无法重新定位该框
  • 生成包含 `partykit:mob()` 对象的并排节点模型的表

    假设我使用以下方法拟合模型partykit mob 之后 我想生成一个包含所有节点的并排表 包括使用整个样本拟合的模型 在这里我尝试使用stargazer 但其他方式也非常受欢迎 下面是一个例子并尝试获取表格 library partyki
  • Istio 从 ext-auth 中排除服务

    大家好 我已经在 minikube 上设置了 istio 并在网关上设置了 envoy ext auth 过滤器 我有两个微服务在不同的 Pod 中运行 向外界公开虚 拟服务 auther 和 appone 我设置的 ext auth 过滤
  • 将数据框中的每个列表转换为普通列

    我从网络上的多个来源生成了一个数据框 这些数据框事先经过清理 然后使用 cleans lt ls cleans lt cleans grepl Clean News cleans 我第一次尝试将它们绑定在一起的灵感来自 Stack Over
  • 嵌入 YouTube 播放列表,以便播放列表选项始终可见。

    有没有办法利用带有播放列表的 YouTube 嵌入式播放器并使播放列表始终可见 或者 有没有办法默认打开播放列表按钮 到目前为止 我的研究表明 showinfo 1 选项用于使播放列表始终可见 但这似乎不再起作用 showinfo 仅适用于
  • 按顺序插入数组

    简单来说 我正在处理的项目的一部分让我采用按顺序降序的数组并添加一个元素 以便数组保持顺序 最初我以为只要将元素添加到数组中 然后实现 Comparable 后进行排序就可以了 但后来发现任何类型的排序算法都是被禁止的 收藏亦然 有点不知道
  • DB->count() 返回与 count(DB->get()) 不同的值

    我正在尝试运行最简单的查询 DB table user visits gt groupBy user id gt count 但它返回了错误的数字 8 如果我把它改成这样 count DB table user visits gt grou
  • 使用递归从二叉搜索树中删除节点

    因此 我尝试使用类中的这两个函数从树中删除节点 不幸的是 它只是没有删除任何内容 我想知道它出了什么问题 任何帮助将不胜感激 def Find Min self node current node while current left is
  • 将 Azure 数据库配置为只读

    有没有办法将 Azure sql 数据库临时配置为只读 在我尝试创建只读用户时 我运行了以下命令 CREATE LOGIN reader WITH password successful CREATE USER readerUser FRO
  • 如何在iPad中使用UIImagePickerController?

    您好 我正在开发一个通用应用程序 iPhone iPad 一个功能是我必须从相册中选择一张照片并将其显示在 UIImageView 上 现在的问题是它在 iPhone 上运行良好 但当我尝试打开相册时它崩溃了 我在操作表委托中的代码是这样的
  • 由于 MPI init 中止,mpiexec 失败

    我正在尝试安装MPICH http en wikipedia org wiki MPICH2 在运行 Ubuntu 11 04 Natty Narwhal 的 64 位机器上 我用了 sudo apt get install mpich2
  • 每次调用或打开页面时都会增加变量吗?

  • 如何使用 HTTPS 代理启动 VSCode chrome 调试器

    我之前曾在没有 SSL 代理的情况下从 VSCode 启动过 chrome 所以我猜这就是我问题的根源 这是我的 VSCode launch json 配置 name Launch Chrome request launch type pw
  • protege 中的自反属性

    This https ufile io rcv9m是我用 protege 5 创建的本体 如果我做cl1 and cl2不相交 那么本体是不一致的 但是如果我取消选中is friend of反身性的 本体论不再不一致 我的本体有什么问题吗
  • IIS7 应用程序请求路由 HTTPS

    我有一个反向代理 可将流量路由到我的应用程序服务器 我的公共网站有登录功能 通过 HTTPS 提供服务 SSL 证书仅安装在反向代理服务器中 我的应用服务器没有 SSL 证书 反向代理服务器中启用了 SSL 卸载 到目前为止效果很好 我可以
  • 如果 Task Runner Explorer 任务失败则取消构建

    我正在使用 Visual Studio 任务运行程序 2015 来运行绑定到构建之前的 Gulp 任务 我已经将其设置为当 gulp 任务失败时 它会发送退出代码 1 并在最后显示 进程以代码 1 终止 然而构建仍在继续 这将取消团队城市中
  • 如何在 Perforce 2013 之前将搁置的变更列表取消搁置到另一个分支?

    Using Perforce 服务器 2012 2 538478 如何将文件从主干取消搁置到另一个分支 当尝试这样做时 我得到 filename not mapped to your workspace view 在 Perforce 20
  • jdt.core Java 模型的 JUnit 测试

    我正在尝试为我的代码进行一些 JUnit 测试 但问题是 我使用了 ICompilationUnit IPackageFragment ITypes 等 Java 模型 我不知道如何创建一些 ICompilationUnit 然后进行测试