Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/327.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在multi-modul maven项目中,我在哪里存储集成功能(文件)?_Java_Maven_Junit_Cucumber - Fatal编程技术网

Java 在multi-modul maven项目中,我在哪里存储集成功能(文件)?

Java 在multi-modul maven项目中,我在哪里存储集成功能(文件)?,java,maven,junit,cucumber,Java,Maven,Junit,Cucumber,我创建了一个多模块maven项目。在我实现并(手动)测试了一个原型之后,我对业务模型充满信心,并希望改进和扩展功能。由于高度复杂性,我确实希望使用BDD确保项目的质量 这是我的项目的代表性结构: |restaurant |-kitchen |-src |-main |-test |-resources prepareStarter.feature prep

我创建了一个多模块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
当我想编写一个功能以确保所有三个(示例)项目的集成时,我应该将功能文件放在哪里


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

我认为最好将您的高级项目保留为
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测试的单一模块,还是需要一个针对每种测试类型的专用模块。这取决于您有多少测试/功能。

您可以在根级别添加新项目(可以这样称为smoketest项目或smth),向其添加厨房、管理和餐厅依赖项,并在那里执行测试。