3

我刚刚开始使用 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;
4

1 回答 1

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

分享和享受。

于 2013-05-20T10:59:35.877 回答