为什么Fortran中的单元测试框架依赖于Ruby而不是Fortran本身?

SOU*_*ser 11 ruby fortran unit-testing

总结: FRUIT只能用于Fortran编译器,尽管使用Ruby可以增强其功能.请查看以下作者Andrew Chen的答案.

===========================================

似乎Fortran的可用单元测试框架(
XUnit )包括:funit
http://nasarb.rubyforge.org/

水果
http://sourceforge.net/projects/fortranxunit/

flibs
http://flibs.sourceforge.net/

ObjexxFTK(商业)
http://www.objexx.com/ObjexxFTK.html

在他们的网页,funit,fruit和flibs中提到他们依靠Ruby来运行.我不知道ObjexxFTK.在我看来,Java,C#和Delphi等中的XUnit框架只依赖于相应的语言本身.那为什么Fortran框架选择依赖Ruby而不是Fortran呢?

小智 18

洗尘,

这是Fruit的作者Andrew Chen.

在FRUIT的核心,它是纯粹的FORTRAN.核心功能包括断言,夹具设置,摘要,错误计数和报告.设计目标是以自己的语言提供测试功能.

FRUIT 1.0大约8年前开发,纯粹的FORTRAN.然后添加了Ruby,我认为Rake是在2008年添加的.

这在FORTRAN中尤为重要,因为在构建环境中引入另一种语言或编译器可能会令人望而却步.

然而,为了使测试框架灵活,优雅和丰富的信息,其他更灵活的语言是正确的工具(甚至我的同事仍然认为FORTRAN可以做任何事情,世界由FORTRAN运行).选择Ruby是因为它具有可读性,易于修改.

据我所知,funit不能在没有Ruby的情况下运行,但FRUIT只能运行FORTRAN编译器.它已经过Intel F95和g95的测试.

请查看FRUIT Wiki中的2个教程:1.在3分钟内将水果添加到您的饮食中(纯FORTRAN)2.在20分钟内将水果添加到您的饮食中(使用Ruby)

http://sourceforge.net/apps/mediawiki/fortranxunit/index.php?title=Main_Page

希望能帮助到你.

Andrew Hang Chen陈航 http://blog.sina.com.cn/foreopen


Dav*_*nan 10

编写具有真正XUnit克隆的复杂性,功能和动态特性的单元测试框架在Fortran中是非常可怕的,它实际上是为数值分析而设计的.

  • Fortran中除了数字运算之外的任何东西都很可怕.XUnit框架通常非常动态,它们使用检查,RTTI等.Fortran并没有为此做好准备. (2认同)