相当于Delphi中的Python DocTest?

时间:2012-04-06 08:24:27

标签: python delphi doctest dunit

是否有任何与Delphi相同的DocTest。我使用DUnit,但我喜欢Python DocTest的想法。我看到了一些像here这样的答案,但我认为,对于简单的函数,DocTest就可以了。 我的目标是在编写函数时在注释标题中定义我的测试。 喜欢:

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

1 个答案:

答案 0 :(得分:2)

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

查看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循环的一小段代码将具有比固定参数集更好的测试覆盖率。