我是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 回答
使用SQL数据 case matters . 错误消息非常明确:数据的实际值为
'FORD'
,但您的预期值为'Ford'
. 测试正确失败,因为这是两个不同的字符串 .解决方案非常简单 - 传递正确的预期值: