使用 Cucumber/Gherkin 生成应用程序代码

问题描述 投票:0回答:1

我对 BDD、Cucumber 和 Gherkin 的世界还比较陌生,所以这可能是一个无意义的问题。

我已经编写了几个功能文件和相关的步骤定义,因此我对使用它来测试我的应用程序有了基本的了解。

但是,我想知道是否可以使用功能文件来生成应用程序代码,有效地使用步骤定义来输出代码而不是测试代码?

假设这是可能的,这是一个坏主意吗?如果是,为什么?

谢谢,

卡尔

cucumber bdd gherkin
1个回答
0
投票

我不会说这是一个坏主意。我要说的是,这个工具(Cucumber)并不是用于此目的。我会给你这个比喻。您可以用螺丝刀将钉子钉入墙壁。但是,用锤子代替不是更好吗?

您描述的场景如下,如有错误请指正。您想要将数据传递到函数中。然后,您希望该函数根据您提供的数据做出决策并输出特定类型的输出。在这种情况下,您希望函数吐出代码。简而言之,我会用 BDD 来表达:

Given a transformer function f(x)
When 'x' is a valid text string
Then function f(x) generates code snippet

如果上述情况属实,那么您需要的是一个业务规则管理系统。我知道这样一个系统叫做“Drools”。 2018年,我创建了这样一个应用程序。我使用 Drools 创建业务规则,该规则将读取文本、根据我创建的规则进行一些推论,并编写代码片段。然后,我收集了这些代码片段,并将它们放入我创建的 Java 类 (.java) 模板中,并执行简单的字符串操作,将代码片段连接到 Java 测试方法中。本质上,规则引擎动态创建“.java”文件,然后由测试引擎(JUnit,如果我没记错的话)编译并执行这些文件。 我必须警告你,这比你想象的要困难得多。创建将纯文本转换为代码的规则可能非常困难。

© www.soinside.com 2019 - 2024. All rights reserved.