首页 文章

utplsql检查列值比较

提问于
浏览
0

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

但是当我执行测试用例测试失败时说testename实际:'FORD'(varchar2)预计等于:'Ford'(varchar2)位于“UT3.TESTPROC”,第11行ut.expect(o_ename).to_equal('福特');

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

这是程序和包 . CREATE或REPLACE PROCEDURE p2(i_empno IN emp.empno%TYPE,o_ename OUT emp.ename%type)AS BEGIN p1(7902,o_ename); dbms_output.put_line('内部P2:过程P1输出为'|| o_ename);结束;

创建或替换包testproc作为 - %suite(查找名称)

--%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;

在start ut.run('testproc')上设置serveroutput;结束;

失败:

1)testename实际:'FORD'(varchar2)预计等于:'Ford'(varchar2)位于“UT3.TESTPROC”,第11行ut.expect(o_ename).to_equal('Ford');

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

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

1 回答

  • 0

    使用SQL数据 case matters . 错误消息非常明确:数据的实际值为 'FORD' ,但您的预期值为 'Ford' . 测试正确失败,因为这是两个不同的字符串 .

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

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

相关问题