Plsql 如何在sql developer中为单元测试用例提供varray结果

Plsql 如何在sql developer中为单元测试用例提供varray结果,plsql,Plsql,创建了一个存储过程,其中varray作为out参数,如下所示,并在sqldeveloper中创建了单元测试用例 当我试图运行单元测试用例时,得到如下错误 Expected: [VARCHAR2()], Received: [VARCHAR2(shobha, sudha, sonnali, Rashmi, Anusha, Kiran, venkatesh, naveen, satya, venkata ramana)] 我怎样才能在单元测试用例中给出结果字段。 如何在sql developer

创建了一个存储过程,其中varray作为out参数,如下所示,并在sqldeveloper中创建了单元测试用例

当我试图运行单元测试用例时,得到如下错误

Expected: [VARCHAR2()], Received: [VARCHAR2(shobha, sudha, sonnali, Rashmi, Anusha, Kiran, venkatesh, naveen, satya, venkata ramana)]
我怎样才能在单元测试用例中给出结果字段。
如何在sql developer中使用流程验证来验证单元测试用例结果。

您只需双击结果值(其中的内容为VARCHAR2())

然后将打开一个新的编辑窗口,如果右键单击第一个条目,您可以选择“添加新值”,新值将显示在其下方,您可以将其更改为“shobha”,然后再次添加新值->“sudha”等等

但请注意,这只在您没有复杂的返回类型(如具有嵌套表和嵌套对象的对象)时才起作用。如果你在那里,你就需要做一些变通。它的类型稍微多了一点,但框架仍然可用;-)


我按照您的建议做了,但我的示例仍然存在问题“预期:[VARCHAR2(测试1,测试2,测试3)],收到:[VARCHAR2(?,,?)]”。如何放置varchar2数组以正确执行测试?那么您很可能犯了键入错误,或者数组中元素的顺序错误。我刚刚用一个像你描述的数组运行了一个完整的测试用例,它工作得很好……你是否也在只想检查的OUT参数下面的“testresult”框中打了勾?是的,我只检查了“testresult”。也看不到任何键入错误。当我像下面这样运行这个过程时:
打开serveroutput;声明我的数组strarray:=strarray();开始我的_进程(3,我的_数组);对于我的数组中的i.first..my_array.last loop dbms_output.put_line('next='| my_array(i));端环;结束我收到:测试1测试2测试3我找到了原因。。。当我在SQL Developer版本3.0.04上运行此测试时-一切正常,在最新版本4.0.1.14上,我仍然收到错误。总有一天,我会检查细节,但今天-问题得到了回答;)你的版本是什么?