我是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次警告
帮助我如何比较表列名称与实际名称
答案 0 :(得分:1)
使用SQL数据大小写。错误消息非常清楚:数据的实际值为'FORD'
,但您的期望值为'Ford'
。测试正确失败,因为这是两个不同的字符串。
解决方案非常简单-传递正确的期望值:
ut.expect( o_ename ).to_equal('FORD');