在多模块maven项目中,我在哪里存储综合功能(文件)?

时间:2017-12-13 07:32:33

标签: java maven junit cucumber

我创建了一个多模块的maven项目。在我实施并(手动)测试原型后,我对业务模型充满信心,并希望改进和扩展功能。由于高度复杂,我确实希望通过BDD确保项目的质量。

这是我项目的代表性结构:

|restaurant
   |-kitchen
      |-src
         |-main
         |-test
            |-resources
                prepareStarter.feature
                prepareFood.feature
                prepareDesert.feature
   |-management
      |-src
         |-main
         |-test
            |-resources
                calculateProfit.feature
                prepareWorkSchedule.feature
   |-eatingroom
      |-src
         |-main
         |-test
            |-resources
                welcomeGuests.feature
                serveFood.feature
                serveDrinks.feature
   |-pom.xml

当我想编写一个功能以确保所有三个(示例)项目的集成时,我在哪里放置功能文件?

目前我的餐厅项目packagingpom。我是否必须将其更改为java并将功能文件放在|-restaurant|-src|-test|-resources

1 个答案:

答案 0 :(得分:1)

我认为将高级项目保留为pom模块会更好。在多模块项目中,通常只包含涵盖交叉模块场景的集成测试的专用模块是很常见的。我认为这同样适用于您的项目和BDD功能。通过这样做,您的项目结构将是这样的:

|restaurant
   |-kitchen
      |-src
         |-main
         |-test
            |-resources
                prepareStarter.feature
                prepareFood.feature
                prepareDesert.feature
   |-management
      |-src
         |-main
         |-test
            |-resources
                calculateProfit.feature
                prepareWorkSchedule.feature
   |-eatingroom
      |-src
         |-main
         |-test
            |-resources
                welcomeGuests.feature
                serveFood.feature
                serveDrinks.feature
   |-bdd-tests
      |-src
         |-main
         |-test
            |-resources
                cross-module-1.feature
                cross-module-2.feature
                cross-module-3.feature
   |-pom.xml

由您自行决定是否需要将包含所有集成和BDD测试的单个模块或每个测试类型的专用模块。这取决于你有多少测试/功能。