utplsql检查列值比较

时间:2018-05-15 08:47:57

标签: oracle utplsql

我是UTPLSQL的新手,我安装了3.04版本 我检查列值ut.expect(o_ename).to_equal(' Ford'); o_ename将包含福特。

但当我执行测试用例测试失败时说  testename       实际:' FORD' (varchar2)预计会相等:'福特' (VARCHAR2)       at" UT3.TESTPROC",第11行ut.expect(o_ename).to_equal(' Ford');

在.01秒内完成 1次测试,1次失败,0次错误,0次禁用,0次警告

这里是程序和包。  创建或替换过程p2(i_empno IN emp.empno%TYPE,o_ename OUT emp.ename%type)    如     开始       p1(7902,o_ename);      dbms_output.put_line('内部P2:过程P1输出是' || o_ename);    END;

创建或替换包testproc      - %套房(找到名字)

--%test(testename)
 procedure testename;
 end;

创建或替换包体testproc   如    程序testename为

   i_empno emp.empno%TYPE := 7902;
  o_ename emp.ename%type;
    BEGIN
  p1(i_empno, o_ename);
    dbms_output.put_line(o_ename);
   ut.expect('Ford').to_equal('Ford');
   ut.expect( o_ename ).to_equal('Ford');
    END;

设置serveroutput 开始 ut.run(' testproc&#39); 端;

故障:

1)testename       实际:' FORD' (varchar2)预计会相等:'福特' (VARCHAR2)       at" UT3.TESTPROC",第11行ut.expect(o_ename).to_equal(' Ford');

在.01秒内完成 1次测试,1次失败,0次错误,0次禁用,0次警告

帮助我如何比较表列名称与实际名称

1 个答案:

答案 0 :(得分:1)

使用SQL数据大小写。错误消息非常清楚:数据的实际值为'FORD',但您的期望值为'Ford'。测试正确失败,因为这是两个不同的字符串。

解决方案非常简单-传递正确的期望值:

ut.expect( o_ename ).to_equal('FORD');