如何测试生成 .c,.h 文件的代码生成器(用 python 编写)?

How to test code generator(written in python) which generates .c,.h files?

提问人:AshKail 提问时间:11/1/2023 更新时间:11/1/2023 访问量:20

问:

我正在尝试测试代码生成器工具,以验证它是否按照某些要求生成代码(和文件)。该工具是用 python 编写的。该工具的输入是一个 JSON 文件。该工具的输出为:

  1. 大量的 .c 和 .h 文件
  2. 几个.arxml(AUTOSAR XML格式)文件。

需求示例如下所示: ->基于JSON文件中的特定配置(工具的输入),它必须生成特定的宏(基于配置)等等。

目前,我通过手动打开.c文件(生成)并在其中搜索以验证宏是否生成来测试此工具。

您能否提供一些关于自动化此测试的方法或想法?指向链接/博客是值得赞赏的。提前致谢!.

PS:我尝试创建一个python exe来测试上述场景。但是我有 >200 个需求,我需要测试每个需求,并意识到要编写很多测试。任何简化这些的方法都会非常有帮助。

Python 测试 代码生成

评论

0赞 Robert 11/2/2023
研究黄金主技术,在该技术中,您可以保存每个 json 输入的当前生成的代码,并将其与未来的运行进行比较,例如,使用 .还可以使用 C 编译器编译生成的代码以检测语法错误。我不会尝试手动解析生成的代码或使用正则表达式来查看是否定义了宏或函数。创建一个调用预期宏/函数的小型测试 C 程序,看看它是否编译。diff

答: 暂无答案