【问题标题】:Adding individual test cases to a suite in utPLSQL将单个测试用例添加到 utPLSQL 中的套件
【发布时间】:2017-01-03 18:40:07
【问题描述】:

我有一个包含 6 个测试用例的测试包。我想建造 2 个套房: 第一个包含 test1, test2 第二个包含 test3, test4, test 5

根据文档,我们只能将整个测试包添加到套件中,但不能添加单个测试用例。另外,我不想根据套件要求来隔离软件包,因为它们是针对同一组的,但功能不同。

对此的任何建议将不胜感激。而且,如果我目前的理解是错误的,请随时告诉我。提前致谢。添加一些示例代码:

CREATE PACKAGE ut_test_pkg 
IS BEGIN 
PROCEDURE ut_test1;
   PROCEDURE ut_test2;
   PROCEDURE ut_test3;
   PROCEDURE ut_test4;
   PROCEDURE ut_test5; 
END;
 / 

现在 test1 和 test2 在逻辑上是 1 个测试用例,而 test3-5 是另一个。我可以这样做:

begin 
utplsql.test ('test_pkg', recompile_in => FALSE, subprogram_in => 'test1');         utplsql.test ('test_pkg', recompile_in => FALSE, subprogram_in => 'test2'); 
end; 
/

但是将它添加到套件中会增加简单性。它可以简单地运行该套件来组合 test1、test2 和 test3-5。

单独运行时,我得到如下输出::
成功
测试 1
失败
测试 2

我有接近 100 次检查,所以测试结果之间的差距非常大,用户必须滚动很多。我希望在顶部添加一个标题,上面写着最终结果,就像他们在测试套件中所做的那样,输出就像

套件失败
成功
测试 1
失败
测试 2

【问题讨论】:

  • 发布您的代码并给出您想要的示例
  • 感谢邢的帮助。添加的评论很难阅读,我已经更新了原始帖子。希望对你有帮助

标签: oracle plsql


【解决方案1】:

看起来我为我的查询找到了一个可行且非常直接的解决方案。我只需要在测试运行期间正确指定子程序部分。 所以,首先我需要加入的所有测试用例都必须包含一个我可以用来搜索的通用字符串::

CREATE PACKAGE ut_test_pkg 
IS BEGIN 
   PROCEDURE ut_abc_test1;
   PROCEDURE ut_abc_test2;
   PROCEDURE ut_def_test3;
   PROCEDURE ut_def_test4;
   PROCEDURE ut_def_test5; 
END;
 / 

在执行时我会这样做::

begin
  utplsql.test ('test_pkg', recompile_in => FALSE, subprogram_in => '%abc%');
end
/
begin
  utplsql.test ('test_pkg', recompile_in => FALSE, subprogram_in => '%def%');
end;
/

这将在第一种情况下运行包含 abc 的测试用例,合并结果 [Success/Failue] 显示在 dbms_output 的顶部。因此,用户不必滚动检查每个测试的测试用例。同样,对于第二次运行中的 def。

感谢大家对此的帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-03-10
    • 2018-04-07
    • 2016-07-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-03
    相关资源
    最近更新 更多