我正在尝试使用黄瓜创建自动化框架并尝试复制实时场景(sprint wise delivery)。 如何在eclipse中构建我的文件夹/源文件夹/包?以下是我即将遵循的结构,但我不确定它是否正确。
我试图以这样的方式构建,当我发出命令时 “mvn test -Dcucumber.options =”src \ test \ resources \ sprint1 \ features“,然后它应该运行sprint1下的所有功能,类似于sprint2,依此类推。 任何建议或输入都会有所帮助。 P.S:由于我是黄瓜新手,因此非常感谢对实时冲刺智能交付的文件夹结构的详细解释。
谢谢:)
答案 0 :(得分:2)
我不会考虑您正在考虑的文件结构。
原因是,在一段时间后,将功能添加到系统时无关紧要。因此,根据时间组织功能是一个坏主意。
如果您仍需要能够运行特定sprint的功能,请考虑使用标签。这样您就可以只运行与您感兴趣的sprint相关的功能。
我也不会这样做,因为过了一段时间,添加一个功能的哪个sprint并不重要。它应该仍然通过所有执行,即使它是27个冲刺。
如果这个组织不好,你应该怎么做呢?
这是一个很多人都有很多意见的问题,辩论会变得非常激烈。
我的看法是确保代码易于使用很有趣。有了这个,我的意思是易于浏览和理解新开发人员。如果您愿意,可以考虑任何其他产品的可用性。
鉴于此,我将在不同包中的功能区之后组织功能。每个区域的包装,一个用于查看产品,一个用于订购产品,一个用于支付等。
我还会尝试更进一步,以类似的方式组织源代码。
但我不会像你想的那样使用时间方法组织。
答案 1 :(得分:0)
您不应该按照sprint组织测试,因为特定的sprint将在特定时间结束。如果要临时运行某些功能文件(直到sprint未结束),您可以在功能文件的顶部添加标签。
例如: 您有以下2个功能文件:
只需在每个功能的顶部添加“@ sprint1”,如下所示:
//1. file1.feature
@sprint1
Feature: sprint1 : features : file1
Scenario: Some scenario desc..
Given ....
When ....
Then ....
//2. file2.feature
@sprint1
Feature: sprint1 : features : file1
Scenario: Some scenario desc..
Given ....
When ....
Then ....
现在要运行这两个文件,您需要在命令提示符中执行以下代码:
cucumber --tags @sprint1
执行此命令,将运行包含“@ sprint1”标记的所有文件。 sprint结束后,您可以从功能文件中删除此额外标记