java - GherkinDocument 到 Gherkin 原始文本

标签 java cucumber gherkin cucumber-java

我想使用 gherkin parser 将用户在前端创建的所有 Gherkin 功能文件存储为后端的 GherkinDocuments 。保存后,我还希望能够在前端显示原始小 cucumber 文档。我已通读文档,但找不到任何将 GherkinDocument 转换回原始文本的内置内容。 toString() 方法也不会被重载来打印。有没有办法在 Gherkin 解析器中将 GherkinDocument 对象转换为原始文本?

我希望能够保留尽可能多的原始格式。通常我会编写自己的实用程序来执行此操作,但是 GherkinDocument 对象的结构使其变得乏味。我更愿意使用现有的功能(如果存在)。

最佳答案

我在 cucumber help 上与 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 所建议的那样。

关于java - GherkinDocument 到 Gherkin 原始文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42450165/

相关文章:

java - JsonObject jar 文件

ruby-on-rails - 如何找到未使用的 cucumber 步骤

android - 设置和使用 Gherkin Android Studio

automated-tests - 如何编写具有需要大量输入和大量输出的功能的 Gherkin 测试?

java - 在Java中销毁对同一对象的多个引用

java - 如何从 WSDL 生成 EJB

android - 集成 Robolectric 和 Cucumber

ruby - Cucumber - 如何从此 Gherkin 场景中删除数据重复?

java - Jetty,isSecure() 在 HTTPS 连接上返回 false

javascript - 通过node的index.js以编程方式调用cucumber cli