如何在eclipse中构建我的项目文件夹,用于具有sprint明智交付的Cucumber项目

时间:2016-01-29 17:24:30

标签: frameworks automation cucumber

我正在尝试使用黄瓜创建自动化框架并尝试复制实时场景(sprint wise delivery)。 如何在eclipse中构建我的文件夹/源文件夹/包?以下是我即将遵循的结构,但我不确定它是否正确。

enter image description here

我试图以这样的方式构建,当我发出命令时 “mvn test -Dcucumber.options =”src \ test \ resources \ sprint1 \ features“,然后它应该运行sprint1下的所有功能,类似于sprint2,依此类推。 任何建议或输入都会有所帮助。 P.S:由于我是黄瓜新手,因此非常感谢对实时冲刺智能交付的文件夹结构的详细解释。

谢谢:)

2 个答案:

答案 0 :(得分:2)

我不会考虑您正在考虑的文件结构。

原因是,在一段时间后,将功能添加到系统时无关紧要。因此,根据时间组织功能是一个坏主意。

如果您仍需要能够运行特定sprint的功能,请考虑使用标签。这样您就可以只运行与您感兴趣的sprint相关的功能。

我也不会这样做,因为过了一段时间,添加一个功能的哪个sprint并不重要。它应该仍然通过所有执行,即使它是27个冲刺。

如果这个组织不好,你应该怎么做呢?

这是一个很多人都有很多意见的问题,辩论会变得非常激烈。

我的看法是确保代码易于使用很有趣。有了这个,我的意思是易于浏览和理解新开发人员。如果您愿意,可以考虑任何其他产品的可用性。

鉴于此,我将在不同包中的功能区之后组织功能。每个区域的包装,一个用于查看产品,一个用于订购产品,一个用于支付等。

我还会尝试更进一步,以类似的方式组织源代码。

但我不会像你想的那样使用时间方法组织。

答案 1 :(得分:0)

您不应该按照sprint组织测试,因为特定的sprint将在特定时间结束。如果要临时运行某些功能文件(直到sprint未结束),您可以在功能文件的顶部添加标签。

例如: 您有以下2个功能文件:

  1. 的src /测试/资源/ SPRINT1 / file1.feature
  2. 的src /测试/资源/ SPRINT1 / file2.feature
  3. 只需在每个功能的顶部添加“@ 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结束后,您可以从功能文件中删除此额外标记