java - 在多模块 Maven 项目中,我在哪里存储集成功能(文件)?

标签 java maven junit cucumber

我创建了一个多模块 Maven 项目。在实现并(手动)测试原型(prototype)后,我对业务模型充满信心,并希望改进和扩展功能。由于高度复杂,我确实希望使用 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

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

目前我的餐厅项目正在打包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 测试的单个模块,还是需要一个用于每种类型测试的专用模块。这取决于您有多少测试/功能。

关于java - 在多模块 Maven 项目中,我在哪里存储集成功能(文件)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47787703/

相关文章:

java - 在 Linux 中使用 Java Makefile 时没有这样的文件错误

java - 如何关闭stopService的主类

maven - 如何知道pom.xml中定义的value变量?

用于查找 *(*007*)* 的 Java 正则表达式不起作用,希望得到一些建议

Java声明

java - 以不同顺序调用接口(interface)方法

java - 使用 maven-bundle-plugin 包含来自 Spring XML 的依赖项

java - 使用带有命令行选项的 maven 跳过单个测试

java - 如何编写复合 Hamcrest 语句(具有逻辑 "or"操作)

java - 为什么用 main() 和输出而不是 JUnit 测试来编写示例代码