标签: python-3.x antlr4
我正在为封闭的编程语言编写antlr4语法。我将用python编写的应用程序代码。
现在,我想针对语言的可能组合对所有语法规则进行单元/集成测试。对于单元测试,我正在考虑以下方法。如果有人从事过类似的工作,您能给我指导哪种方法合适吗?
对此将提供任何帮助。
答案 0 :(得分:0)
我将使单元测试保持简单(以便您可以编写很多单元测试):解析应该期望0个错误(或者应该期望n个错误,具体取决于您的测试)。
当然,您可以打印出一些内容,以帮助您快速分析单元测试失败的原因。
我的观点是,您应该在编写规则的同时编写输入文件(不要先编写所有语法,然后再编写所有单元测试)
在使用Junit时,我发现与Reflections一起使用的参数化测试非常有用:我将所有测试输入文件放在一个folder中,只需要一个测试file。每次您添加或修改规则或测试文件时,都会播放所有junit测试,而无需更新它们。