单元测试SQL过程

时间:2013-06-12 14:19:27

标签: sql oracle unit-testing

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

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运行。

1 个答案:

答案 0 :(得分:2)

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

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

  1. 运行预测试脚本以设置测试的初始条件,即它将处理的确切数据。
  2. 运行您的程序。
  3. 运行脚本以在运行程序后检查数据并检查它是否符合您的期望。
  4. 即使在受控制的环境中,如果您的数据涉及日期,您也会遇到并发症,因为SYSDATE的值可能不在您的控制之下!

    在SQL Developer中构建了这些行的单元测试机制。您还可以调查工具utPLSQL。我不能推荐赞成或反对,因为我还没有真正使用它们。