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