【发布时间】:2011-11-15 22:35:03
【问题描述】:
我使用 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 测试框架可见?
【问题讨论】:
标签: oracle unit-testing