mjn*_*mjn 10 delphi unit-testing freepascal dunit
有没有办法编写单元测试,以便可以使用Delphi和Free Pascal编译和运行它们?
Delphi和Free Pascal有不同的单元测试框架,这会导致针对两个编译器(例如,库和框架开发人员)的开发人员的重复工作.
所以也许有一种方法,使用DUnit或FPCUnit框架并调整测试用例源代码(或框架本身),以便它也可以与其他编译器一起使用.
基本上问题是:
要么
Arn*_*hez 10
看到这篇非常好的博客文章 - 关于FPCUnit测试的新鲜事.
总之,据我所知,如果你与DUnit比较:
因此,我认为通过在FPCUnit实现上创建一个小包装类来让FPCUnit"模仿"DUnit可以很容易地使用与DUnit相同的方法.因此,您可以在两个目标之间共享代码,甚至可以重用现有的DUnit测试.这样的包装类是恕我直言,使用{$ifdef FPC}其他建议在这里更方便.条件编译往往使代码难以调试,冗长,冗余,只应在必要时使用.
另一个可能的解决方案可能是使用其他测试框架.我们的小型TSynTest类更轻,但我目前正在将框架转换为FPC.因此,两个编译器可以使用相同的精确代码.它有一些功能(比如可选的日志记录,有精细的分析,以及完整的堆栈故障),我很想念DUnit/FPCUnit.它没有GUI也没有向导,但老实说,作为程序员,我更喜欢纯文本,我可以轻松地在技术发布文档中包含,以证明没有发生回归.