使用Visual Studio 2010对Oracle存储过程进行单元测试

时间:2011-11-15 22:35:04

标签: oracle unit-testing

我使用Visual Studio 2010为一些返回多行的存储过程创建数据库单元测试。在SQL Server中很简单,我只是执行了存储过程(EXEC MyProcedure 9999)并且行自动返回,因此我可以使用测试设计器来检查结果集。

现在我正在尝试为Oracle编写相同的测试;但是,Oracle存储过程使用游标输出参数来返回结果。例如,存储过程的签名如下所示:

PROCEDURE MyProcedure
(
    v_ItemId   IN NUMBER,
    io_cursor  IN OUT t_cursor
) AS...

因为它需要一个游标作为参数,我需要在我的测试中声明一个。看看关于这个主题的其他问题,我能够创建:

DECLARE
   refcsr  SYS_REFCURSOR;
BEGIN
   MyProcedure (9999, refcsr); 
END;

我知道refcsr包含我的结果,但我的问题是如何将光标内容作为Visual Studio测试框架的结果集显示?

1 个答案:

答案 0 :(得分:0)

像这样的东西

variable x refcursor
exec MyProcedure(9999, :x)
print x