0

您如何对以下过程进行单元测试:

procedure some_prc as
begin
    select t.a, t.b, t.c, t.d, count(*) from t inner join t1 on t.f1 = t1.f2
    group t.a, t.b, t.c, t.d;
end;

查询由 sqlplus 运行。

4

1 回答 1

2

要执行自动化的、可重复的单元测试,您需要一个完全控制数据的环境——例如,在您自己的 PC 上本地安装数据库,或者在服务器上只有您可以访问的专用数据库或模式。

只有这样你才能做你需要做的事情,即

  1. 运行一个预测试脚本来设置测试的初始条件,即它将处理的确切数据。
  2. 运行你的程序。
  3. 在运行过程后运行脚本来检查数据并检查它是否符合您的期望。

即使在受控环境中,如果您的数据涉及日期,您也会遇到麻烦,因为 SYSDATE 的值可能不在您的控制之下!

SQL Developer 中内置了按照这些思路进行单元测试的机制。您还可以研究一个名为utPLSQL的工具。我不能推荐或反对,因为我还没有真正使用过它们。

于 2013-06-12T15:09:49.543 回答