4

我正在研究一个巨大的代码包(主要用 ada 编写),这非常混乱。到目前为止,没有应用单元测试,并且对于所有现有代码,不得实施单元测试。但是我们的团队决定,所有新代码都应该与测试一起实现。在 GPS 中,可以让 GNATtest 为项目中的所有功能和程序自动生成测试程序。但正如所写,我们必须从这个自动生成中排除所有旧代码。

有没有办法将功能和过程标记为“需要测试”?

4

1 回答 1

4

您可以通过添加参数来指示gnattest仅为选定的过程或函数创建测试--test-case-only。我不确定如何在 GPS 中设置它。终端中的整个命令可以看起来:

gnattest -P yourproject.gpr --test-case-only

您还可以将此参数添加到您的 .gpr 文件中:

    package GnatTest is
       for GnatTest_Switches use ("--test-case-only");
    end GnatTest;

当你设置它时,你必须添加 aspect (or pragma) Test_Case。例如:

procedure Something with
 Test_Case => ("Test_Something", Robustness);

您可以在GNAT 文档中找到有关此方面/编译指示的更多信息。链接是编译指示定义,但方面的工作方式完全相同。

于 2019-09-12T15:22:48.940 回答