黄瓜模块集成

时间:2016-05-20 02:06:47

标签: cucumber

我们有几个模块,每个模块都有单独的黄瓜测试套件。现在的目标是连接这些黄瓜测试套件,以提供端到端模块自动化测试

现有模块设置

模块A

> Feature > Step definition (create xml file,validate xml attributes and post it to queue A) 

模块B

> Feature > Step definition (publish static xml to queue A,verify various checkpoints,post message to queue B) 

模块C

> Feature > Step definition (publish static xml to queue B,verify various check points,post message to queue C) 

我开始创建新的Integration maven项目

集成项目pom.xml依赖于

1. Module A cucumber jar
2. Module B cucumber jar
3. Module C cucumber jar
  

整合功能

Given all prerequisites
When message is posted from module A to queue A
Then verify the if message is published successfully to queue A
Then verify if module B consumed message from queue A, processed then posted message to queue B
Then verify if module C consumes message from queue B, processed then posted msg to queue C  
.....
...so on 
  

整合步骤

@When
message is posted from module A to queue A {
    invoke steps def in module A jar to post the message (reuse step def method in module A)
}

@When 

    verify the if message is published successfully to queue A{
        invoke steps on module A jar and assert data (code reuse)
    }

@When 

    verify if module B consumed message from queue A, processed then posted message to queue B{
        invoke step def in module B jar and assert data (code reuse)
    }

流程

>Integration Feature 
      >Integration Steps
         >IntegrationService Layer
            > Module A Service Layer
                > Invokes module A steps def 
                   1 Steps def
                   2 Steps def 
            > Module B Service Layer
                > Invokes module B steps def 
                    1 Steps def 
                    2 Steps def 

有关集成设计方法的任何建议或意见吗?欢迎更好的设计方法

1 个答案:

答案 0 :(得分:0)

CucumberOptions 使用胶水参数中的列表与包的所有路径

@CucumberOptions(... glue = { "com.modulea.steps", "com.moduleb.steps", "com.modulec.steps" } ...}