CUCMBER功能定义在不同模块中,而不是功能文件

时间:2017-11-02 09:05:32

标签: java testing gradle cucumber bdd

首先 - 我不确定黄瓜是否支持此功能,但是可以在不同模块中定义功能而不是包含功能文件的功能吗?

鉴于现实生活中的例子: 让我们说我想要一个名为“carcore'”的模块, 然后让我们说我想要一个名为“Volkswagen'”的模块, 和其他一个名为“福特”的人。

我是否有可能将功能定义文件放在' carcore'模块,但在他们自己的模块中保留特定于vokswagen或ford的特征元文件?

我正在使用gradle将这些模块缝合在一起。它或多或少都很简单。虽然引入Cucumber注释时并不容易。 Cucumber无法在其他模块中找到功能定义。我无法找到任何相关和有用的阅读,所以如果有人可以帮助我或指出我正确的方向,我会很高兴。

2 个答案:

答案 0 :(得分:1)

Cucumber的设计使您拥有一个适合您的功能的世界,而在这个世界中,您所谈论的每件事都应该具有唯一的名称和单一的定义。它故意选择不具有任何名称间距。这背后的基本原理是,Cucumber是一种描述商业行为而非编程的工具。

您正在使用模块进行编程,您似乎反映的是您的程序是如何实现的,但是在Cucumber场景中没有任何地方;在你想到如何做事之前,应该先写出来。情景应该只是关于企业想要什么,为什么他们想要这个。

你可以用你的模块想法做什么就是把它压缩到你的堆栈,进入步骤定义或更好的模块,定义你的步骤定义可以使用的调用。现在因为你使用编程语言,你有能力以你需要的任何方式进行编程。

最后,福特和大众都是Car的品牌。虽然您可能会使用这些名称作为示例,但在任何级别上都有一个单独品牌的模块。

答案 1 :(得分:0)

与其他任何类一样,它会自动完成。 Cucumber将自动获取任何已定义依赖项的功能定义文件。

我的IDE没有找到功能定义文件和功能本身之间的关系,所以让我感到困惑。