首先-我不确定cucumber是否支持这一点,但是否可以在包含功能文件的模块中定义不同的功能?
给出现实生活中的例子:假设我想要一个名为'carcore‘的模块,然后假设我想要一个名为'Volkswagen’的模块,另一个模块名为‘福特’。
有没有可能我会将通用功能的特征定义文件放在'carcore‘模块中,而将特定于大众或福特的特征定义文件放在它们自己的模块中?
我正在使用gradle将这些模块缝合在一起。这或多或少很简单。不过,当引入Cucumber注释时,并不是那么容易。Cucumber无法在其他模块中找到特征定义。我无法找到任何相关的和有用的读物,所以如果有人能帮助我或为我指明正确的方向,我将非常高兴。
发布于 2017-11-02 10:51:35
Cucumber的设计是为了让你的功能有一个世界,在这个世界里,你谈论的每件事都应该有一个唯一的名称和一个单一的定义。它故意选择不使用任何类型的名称空格。背后的理由是,Cucumber是用于描述业务行为的工具,而不是用于编程的工具。
你正在用你的模块做的是编程,你似乎反映的是你的程序是如何实现的,但是如何实现在Cucumber场景中没有位置;它们应该在你考虑如何做事情之前编写。场景应该只是关于企业想要什么以及他们为什么要这样做。
你可以用你的模块思想把它推到堆栈下面,放到步骤定义中,或者更好的是定义你的步骤定义可以使用的调用的模块中。现在,因为您使用的是一种编程语言,所以您能够以所需的任何方式进行编程。
最后,福特和大众都是汽车品牌。虽然您可能会使用名称作为示例,但在任何级别上,为单个品牌提供模块似乎都是错误的。
发布于 2017-11-02 14:03:37
与任何其他类一样,它是自动完成的。Cucumber将自动拾取定义的从属关系中的任何特征定义文件。
我的IDE没有处理特征定义文件和特征本身之间的关系,所以把我搞糊涂了。
https://stackoverflow.com/questions/47071283
复制相似问题