tPLSQL 测试读出结果表中的内容,确定该测试的状态。
utPLSQL 根据结果作出报告,或者通过 DBMS_OUTPUT 送到屏幕,或者通过 UTL_FILE 送到一个文件。
图 1:utPLSQL 体系结构的往返旅程简化视图。ppt.

让我们来看一个很简单的示例,从而大致了解单元测试程序包的内容。假设我已经创建了一个关于 SUBSTR 的封装,允许在开始和结束点之间请求一个子串(一个简单的函数)。
即使是简单的或看似不重要的程序(如 betwnStr)也需要测试 — 而实际上我必须考虑大量的测试方案(包括 NULL 开始值、NULL 结束值以及开始大于结束等)。
那些在测试领域工作的人都知道,测试一个应用程序所需要编写的代码数量常常比应用程序本身更多。对于这个特定的程序包和测试代码的 utPLSQL 风格,您在某些情况下会生成全部的测试代码。实际上,ut_betwnstr 程序包通过对 utGen.testpkg_from_string 过程的调用而生成。
即使您不生成测试程序包,也经常可以找到其他方法,利用最少的代码运行许多基于 utPLSQL 的测试 — 这正是我用 Codecheck 所做的工作。
将 utPLSQL 应用于 Codecheck
要利用 utPLSQL,我需要构建一个单元测试程序包并调用 utAssert 程序,以确定我的代码是否通过其测试。但是,在进行这些操作之前,我需要精心制作我的测试方案。请记住:测试方案第一,其次才是代码。
现在应该寻找灵感,暂停前进,考虑一下我所提供的实用工具。我希望它能够验证什么?那些能编译但包含歧义超载的程序包的特例是什么?我能检测到什么情况?有效超载的示例是什么?毕竟我需要测试正面和负面的因素。经过一段时间以后,我给出以下的内容:
有效的超载
两个超载程序带有不同数量的非缺省参数。
两个超载程序带有相同数量的非缺省参数,并在数据类型方面具有足够的差别(如 NUMBER 对 DATE)。
|
您将承担一切因您的行为、言论而直接或间接导致的民事或刑事法律责任
留言板管理人员有权保留或删除其管辖留言中的任意内容 本站提醒:不要进行人身攻击。谢谢配合。 |