Unit testing 找出我的FORTRAN项目中没有经过单元测试的部分

Unit testing 找出我的FORTRAN项目中没有经过单元测试的部分,unit-testing,frameworks,fortran,Unit Testing,Frameworks,Fortran,我目前正在切换到funit,以全面测试我相当大的Fortran项目。 有没有一个工具可以让我找出我的项目中哪些行没有被删除 还没有测试?我使用emacs,所以有没有一个简单的脚本可以让我 轻松查看我的文件的哪些部分尚未测试 我可以想象为类似的事情招募-prof编译器,但是 我才刚开始。所以我绝对不能靠我自己做这件事 取决于您的编译器。我在Linux上使用Intel Fortran进行测试,并使用其覆盖率检查选项。编译代码并将其与以下内容链接 ifort -g -prof-gen=srcpos .

我目前正在切换到funit,以全面测试我相当大的Fortran项目。 有没有一个工具可以让我找出我的项目中哪些行没有被删除 还没有测试?我使用emacs,所以有没有一个简单的脚本可以让我 轻松查看我的文件的哪些部分尚未测试

我可以想象为类似的事情招募-prof编译器,但是
我才刚开始。所以我绝对不能靠我自己做这件事

取决于您的编译器。我在Linux上使用Intel Fortran进行测试,并使用其覆盖率检查选项。编译代码并将其与以下内容链接

ifort -g -prof-gen=srcpos ...
(旁注:在启用了
-prof gen
选项的情况下,并行生成不适用于我)编译将在源代码目录中生成一些额外的文件。运行测试,每次程序执行都会在源目录中生成一个
*.dyn
文件。运行所有测试后,执行

profmerge
proforder
codecov

这将生成一个非常详细的HTML格式的覆盖率报告。在运行新的一系列测试之前,不要忘记删除旧的
*.dyn
pgopti.dpi*
文件,否则您将看到不同覆盖率结果的交叉点。

调查编译器为代码覆盖率提供的支持。谢谢!这对我很有帮助。在emacs的每一次编译中,我都可以使用它,这样在编写代码时就可以快速浏览一下吗?