Oracle 自动化构建环境中的PL/SQL预编译和代码质量检查?
我们使用Hudson和Maven构建软件。我们有C#、java和最后但并非最不重要的PL/SQL源代码(存储过程、包、DDL、crud) 对于C#和Java,我们进行单元测试和代码分析,但在将PL/SQL源发布到目标数据库之前,我们并不真正了解它们的运行状况 要求 有几件事我们不想在以下优先级进行测试:Oracle 自动化构建环境中的PL/SQL预编译和代码质量检查?,oracle,plsql,continuous-integration,build-automation,code-analysis,Oracle,Plsql,Continuous Integration,Build Automation,Code Analysis,我们使用Hudson和Maven构建软件。我们有C#、java和最后但并非最不重要的PL/SQL源代码(存储过程、包、DDL、crud) 对于C#和Java,我们进行单元测试和代码分析,但在将PL/SQL源发布到目标数据库之前,我们并不真正了解它们的运行状况 要求 有几件事我们不想在以下优先级进行测试: 这些来源是否有效,因此是“可编译的” 对于包,关于某个数据库,它们会编译吗 代码质量:我们是否存在代码缺陷,如重复、过于复杂的方法或其他违反已定义规则的行为 而且 工具必须无头运行(命令行、a
- 工具必须无头运行(命令行、ant等)
- 我们希望在部分代码基础上进行分析(仅更改源代码)
- :似乎是一个掌握“任何东西”信息的服务器。找不到将以可读格式导出的控制台版本
- :专业版据说包含一种称为Xpert的东西,它根据代码库验证一组规则
- +:使用Toad for Oracle以声纳方式显示代码运行状况。这用于浏览代码库的当前状态
- :对源代码库进行了相当全面的分析。命令行可用吗
- :检测克隆。但也通过命令行
- :似乎专注于安全问题。但也许它是可扩展的李>
user\u errors
system表中的编译错误之前,每晚从源代码处构建数据库,在其中删除并重新创建模式。这可以让您知道何时有人在构建中引入了编译错误
下一步是使用类似的方法将单元测试添加到PL/SQL代码中,并将它们添加到夜间构建任务中。对我们来说,这涉及到样本测试数据集(也在源代码控制下),它允许我们将数据库置于“已知状态”进行测试
我还没有发现任何东西对以上任何一项有很大帮助,所以它主要是Ant任务、自定义shell脚本和向导的集合,它们基本上对空数据库应用所需的DDL,并使用DBMS\u实用程序。COMPILE\u SCHEMA()
编译模式。您可以在以后添加更多有趣的内容,比如在源代码管理中,对未能编译或测试失败的对象进行回溯,并发出“责备邮件”
我真的很想看看是否有其他人有更好的方法,或者是否有现成的产品可以为我做到这一点 我认为这个博客描述了需要的过程: 请检查并告诉我您对此的看法。 < P>我们是任意可定制工具的基础。它有一个PL/SQL前端,可用于构建任意源代码质量检查。是的,它有一个命令行版本 有多种基于DMS的方法可用于检查质量:
- 格式化程序-清理布局。副作用:对合法PL/SQL语法进行静态检查
- 源代码搜索引擎-支持快速搜索索引源代码库。计算Halstead和圈度量作为设置索引的副作用
- CloneDR-查找和报告重复的PL/SQL代码
- 测试覆盖率-确定测试(特别测试、单元测试或功能测试)未执行的部分PL/SQL代码
所有这些都有命令行版本。太好了,汉诺!谢谢你发布链接。