GherkinDocument 到 Gherkin 原始文本
GherkinDocument to Gherkin Raw Text
我想使用 gherkin parser 将前端用户创建的所有小黄瓜功能文件存储为后端的 GherkinDocuments。保存后,我还希望能够在前端显示原始小黄瓜文档。我已通读文档,但找不到任何可将 GherkinDocument 转换回原始文本的内置内容。 toString()方法也没有重载打印出来。有没有办法在 Gherkin 解析器中将 GherkinDocument 对象转换为原始文本?
我希望能够尽可能多地保留原始格式。通常我会编写自己的实用程序来执行此操作,但是 GherkinDocument 对象的结构使它变得乏味。如果现有功能存在,我更愿意使用它们。
按原样读取特征文件并显示它们怎么样?它们在您的测试 class 路径中可用。将它们移动到您的生产 class 路径,它们将可以从任何 class、测试或生产中读取。这将允许您为每个文件打开一个流并在不进行任何修改的情况下显示它。
我在 cucumber help gitter 上与 Cucumber 开发人员 Aslak 进行了交谈。他告诉我:
Hi @tramstheman have you considered storing it as text instead of serialising the GherkinDocument AST? It is very quick to parse that text back into an AST when you need to.
There isn't currently a renderer/prettifier that will turn an AST back to source as @mattwynne suggested. The tests don't do roundtrips, they just perform approval testing on various outputs (parser tokens, ASTs as JSON, pickles as JSON)
我所做的是扩展 GherkinDocument 对象并将其设置为在其中存储原始文本,正如 Aslak 所建议的那样。
我想使用 gherkin parser 将前端用户创建的所有小黄瓜功能文件存储为后端的 GherkinDocuments。保存后,我还希望能够在前端显示原始小黄瓜文档。我已通读文档,但找不到任何可将 GherkinDocument 转换回原始文本的内置内容。 toString()方法也没有重载打印出来。有没有办法在 Gherkin 解析器中将 GherkinDocument 对象转换为原始文本?
我希望能够尽可能多地保留原始格式。通常我会编写自己的实用程序来执行此操作,但是 GherkinDocument 对象的结构使它变得乏味。如果现有功能存在,我更愿意使用它们。
按原样读取特征文件并显示它们怎么样?它们在您的测试 class 路径中可用。将它们移动到您的生产 class 路径,它们将可以从任何 class、测试或生产中读取。这将允许您为每个文件打开一个流并在不进行任何修改的情况下显示它。
我在 cucumber help gitter 上与 Cucumber 开发人员 Aslak 进行了交谈。他告诉我:
Hi @tramstheman have you considered storing it as text instead of serialising the GherkinDocument AST? It is very quick to parse that text back into an AST when you need to. There isn't currently a renderer/prettifier that will turn an AST back to source as @mattwynne suggested. The tests don't do roundtrips, they just perform approval testing on various outputs (parser tokens, ASTs as JSON, pickles as JSON)
我所做的是扩展 GherkinDocument 对象并将其设置为在其中存储原始文本,正如 Aslak 所建议的那样。