我正在研究一个巨大的代码包(主要用 ada 编写),这非常混乱。到目前为止,没有应用单元测试,并且对于所有现有代码,不得实施单元测试。但是我们的团队决定,所有新代码都应该与测试一起实现。在 GPS 中,可以让 GNATtest 为项目中的所有功能和程序自动生成测试程序。但正如所写,我们必须从这个自动生成中排除所有旧代码。
有没有办法将功能和过程标记为“需要测试”?
您可以通过添加参数来指示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 文档中找到有关此方面/编译指示的更多信息。链接是编译指示定义,但方面的工作方式完全相同。