我创建了一个多模块的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
为pom
。我是否必须将其更改为java并将功能文件放在|-restaurant|-src|-test|-resources
?
答案 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测试的单个模块或每个测试类型的专用模块。这取决于你有多少测试/功能。