我已经看到了为MS SQL Server提出的问题(和答案),尽管我还不知道 Oracle 和 PL/SQL 的问题。Oracle 的 PL/SQL 是否有 xUnit 风格的测试框架?这些是什么?
10 回答
最常用的大概是utPLSQL
该工具包的原作者现在为 Quest 工作,该公司拥有一个商业 PL/SQL 单元测试应用程序。
SQL Developer的最后一个版本包括一个非常有趣的单元测试套件。
我已经使用 Ruby 库 ruby-plsql 创建并使用了 PL/SQL 单元测试框架。
它提供了比 utPLSQL 更短、更易读的测试,并且与 GUI 工具(如 Quest Code Tester 或 SQLDeveloper 2.1)相比提供了更大的灵活性。
PLUTO 似乎很新,而且似乎没有很多文档。所以我担心你会通过大量的错误来让事情正常工作。utPLSQL 已经存在了很多年并且被广泛部署,所以有更多的错误修复和更多的人可以在你遇到问题时提供帮助。
此外,并非贬低任何人,但编写 utPLSQL 的 Steven Feuerstein 是世界上最知名的 PL/SQL 专家之一。虽然我确信 PLUTO 的作者是一位完全称职的开发人员,但我认为他的声誉远不及 Steven 所拥有的。
我在搜索 PL/SQL 单元测试框架时发现了这个问题。我发现了一篇PLUTO 的开发人员对此提出异议的文章:
...有一些产品可以帮助 PL/SQL 程序员测试他们的代码。Quest Software 有一个名为 Code Tester for Oracle 的产品;然而,免费版本是 cripple-ware,而付费版本只是增加了一个障碍,让您不得不说服您的组织开始测试。还有一个 utPLSQL 项目在几年前就被放弃了,它开始遭受 bit rot 的困扰。
我最近成功地使用了PL/SQL Commons工具包的单元测试框架(另见作者的幻灯片)。该工具包尚未公开(在撰写本文时),但如果您向作者发送电子邮件,您将获得一个工作包(或者至少我得到了)。
我还找到了另一个库:PLUTO - 有没有人使用过这些并且可以比较/对比它们?
我们使用 DBUnit。尽管开发人员需要学习一点 Java,但它可以很好地集成到 Cruise Control 等持续集成工具中。模板、实用程序和代码示例帮助我们的 pl/sql 开发人员快速上手。
没有使用任何,但 utPLSQL 的最后一个 realese 是在 2005 年 7 月,因为作者与 oracle 的商业代码测试器相同(http://www.quest.com/code-tester-for-oracle/)我不认为我们将来会看到很多 utPLSQL,所以我想我会抓住 PLUTO(2008)的机会
我看了所有这些,但我唯一喜欢的是PLUnit。它的维护者似乎已经放弃了它(我不得不调整脚本以使其安装)。但是 API 非常简单,它不会尝试将 OOP/xUnit 方法强制用于 PL/SQL。