Delphi 是否有任何等效的 DocTest。我使用 DUnit,但我喜欢 Python DocTest 的想法。我看到了一些像 here 这样的答案但我认为,对于简单的功能,像 DocTest 这样的就可以了。 我的目标是在编写函数时在注释 header 中定义我的测试。 喜欢:
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
据我所知,目前还没有现有的解决方案集成到 Delphi 世界中。
在注释中编写测试将缺少 IDE 自动完成,并且在某种程度上破坏了 object pascal 设计。使用 DWS 会很容易,但需要调用命令行 Delphi 编译器。老实说,我不认为拥有自己的一套专门用于测试的单元有什么问题。一小段带有固定值和随机值的 for..to
循环的代码将比一组固定的参数具有更好的测试覆盖率。
关于python - 等同于 Delphi 中的 Python DocTest?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10040955/