加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

相当于Delphi中的Python DocTest?

发布时间:2020-12-15 09:13:50 所属栏目:大数据 来源:网络整理
导读:是否有任何与Delphi相同的DocTest.我使用DUnit,但我喜欢 Python DocTest的想法.我看到了像 here这样的答案,但我认为,对于简单的功能,DocTest就好了. 我的目标是在编写函数时在注释标题中定义我的测试. 喜欢 : function Plus(i1,i2 : integer) : integer;//
是否有任何与Delphi相同的DocTest.我使用DUnit,但我喜欢 Python DocTest的想法.我看到了像 here这样的答案,但我认为,对于简单的功能,DocTest就好了.
我的目标是在编写函数时在注释标题中定义我的测试.
喜欢 :

function Plus(i1,i2 : integer) : integer;
//>>> Check( Plus(1,3) = 4)
begin
  result := i1 + i2;
end;

解决方法

这个想法是你可以使用“控制台”将一些结果输出到测试代码,然后将输出文本内容与预期值进行比较.

例如,请查看regression tests available with the great DWSScript Open Source project.您将找到一些.pas文件和一些相关的.txt文件.

比如abs.pas:

var vf = 1.5;
var vi = 2;

var i : Integer := Abs(-vi);
PrintLn(i);
PrintLn(Abs(vi));

var f : Float := Abs(-vf);
PrintLn(f);
PrintLn(Abs(vf));

以及相应的abs.txt内容:

2
2
1.5
1.5

AFAIK现在还没有现成的解决方案集成在Delphi世界中.

在评论中编写测试将缺乏IDE自动完成,并在某种程度上打破了对象pascal设计.使用DWS会很简单,但需要调用命令行Delphi编译器.老实说,我没有看到你自己的一套专用于测试的单位出了什么问题.带有固定和随机值的for..to循环的一小段代码将具有比固定参数集更好的测试覆盖率.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读