我打算编写一个JavaScript解析器,我想要一组测试用例,即应解析为什么的东西(可能是的东西>不应该解析)我可以抛出我的解析器来测试它的正确性。我不想测试JavaScript的运行,只是解析。
我正在阅读ECMAScript规范并从中创建一组测试用例,但是如果有人已经完成了,那就太棒了。
我还看了测试案例的V8和SpiderMonkey来源,但除了被手工编码的解析器困惑之外,解析测试似乎与评估测试相结合。
答案 0 :(得分:2)
我可以从最近的两个项目中给你两个起点:
几个月前,Peter van der Zee(又名@kuvos)制作了ECMAScript 5 parser,他的解析器包括一些语法专用测试和一个模糊器,jsfunfuz由Jesse Ruderman完成。
检查EsParser.js(查找EsParser.testSuite
函数)以查找其中一些测试。
在ECMAScript中编写了其他ECMAScript 5解析器,如果来自Google的ES-Lab项目,它们还有一组很好的面向语法的单元测试,你可以找到here。