python - 等同于 Delphi 中的 Python DocTest?

标签 python delphi doctest dunit

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/

相关文章:

python - 我应该如何将 Python 嵌入到 C++ Builder/Delphi 2010 应用程序中?

python - 将文档字符串中的预期结果指定为十六进制?

python 文档测试和协程

字符串语法问题中的Python变量?

python - Pycharm Python 控制台不打印输出

windows - 如何使用 delphi 导入(合并)reg 文件?

delphi - "class var"是否初始化为零?

python - 如何用doctest测试 float 结果?

python 函数(或代码块)在循环中的时间间隔内运行速度要慢得多

python 在 xml 文件中编码'(引用)