utplsql如何断言不相等

时间:2013-05-20 10:18:05

标签: oracle psql

我刚刚开始使用utplsql,并且正在努力理解如何编写一些简单的测试用例。有很多关于如何测试程序和软件包的很好的例子,但我还有更多的方法来测试数据。

我在下面的测试中想要实现的是断言我在l_rowcount中获得的数字不等于零。我相信下面的代码测试它等于零。它应该很简单哈哈...但我不知道该怎么做。 utassert包没有assertnotequal。

任何人都可以帮助我吗?非常感谢。

   PROCEDURE ut_oms_tran_head_check_1
   IS 
      l_rowcount1 PLS_INTEGER;
   BEGIN
      -- Run baseline code.
      SELECT COUNT (*)
        INTO l_rowcount1
        FROM sa_tran_head th, sa_store_day sd
       WHERE th.store=sd.store
       AND th.day=sd.day
       AND th.store_day_seq_no=sd.store_day_seq_no
       AND sd.business_date=to_date('09/05/2013','dd/mm/yyyy')
       AND th.cust_order_no is null;

      -- Test results
      utassert.eq (
         'CUST ORDER NO',
         l_rowcount1,
         0
      );
   END;

1 个答案:

答案 0 :(得分:2)

我希望utPLSQL有一个.neq方法,但它似乎没有,并且修改UTASSERT和UTASSERT2包不适合胆小的人。我通常使用的是

UTASSERT.THIS('SOME_VAR (' || SOME_VAR || ') and SOME_OTHER_VAR (' ||
              SOME_OTHER_VAR || ') shouldn''t be equal',
              SOME_VAR <> SOME_OTHER_VAR);

分享并享受。