utplsql проверка сравнения значений столбца - PullRequest
0 голосов
/ 15 мая 2018

Я новичок в UTPLSQL, и я установил версию 3.04 я проверяю значение столбца ut.expect (o_ename) .to_equal ('Ford'); o_ename будет содержать Ford.

но когда я выполнил тестовый пример, тест не прошел, сказав, что testename Фактически: ожидалось, что «FORD» (varchar2) будет равен: «Ford» (varchar2) на «UT3.TESTPROC», строка 11 ut.expect (o_ename) .to_equal ('Ford');

Завершено за 0,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 как -% suite (найти имя)

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

создать или заменить тело пакета testproc как имя процедуры как

   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;

установить выход сервера начать ut.run ( 'testproc'); конец;

Неудачи:

1) testename Фактически: ожидалось, что «FORD» (varchar2) будет равен: «Ford» (varchar2) в "UT3.TESTPROC", строка 11 ut.expect (o_ename) .to_equal ('Ford');

Завершено за 0,01 секунды. 1 тестов, 1 не пройден, 0 с ошибками, 0 отключен, 0 предупреждений

помогите мне сравнить имя столбца таблицы с фактическим именем

1 Ответ

0 голосов
/ 14 октября 2018

С данными SQL регистр имеет значение .Сообщение об ошибке совершенно ясно: фактическое значение данных - 'FORD', но ожидаемое значение - 'Ford'.Тест корректно не проходит, потому что это две разные строки.

Решение довольно простое - передайте правильное ожидаемое значение:

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