卡在REST API黄瓜框架中的依赖注入

时间:2018-07-09 09:29:00

标签: java automated-tests cucumber-jvm picocontainer

我们的项目向诸如dotcom或订单管理系统之类的消费者公开了剩余的api来安排订单。我正在创建一个使用Cucumber(Java)的测试自动化框架,以实现我们的剩余api的端到端测试自动化,从而为消费者提供调度能力。这是3项服务

  1. GetStore-输入是客户地址和商品。输出存储在离客户邮政编码最近的地方
  2. GetAvaliablity-输入是上述服务的客户地址,物品和商店以及其他参数。输出是可用的日期和时隙。
  3. ReserveCapacity-输入是客户,地址,物品,GetAvaliablity服务中的可用插槽以及GetStore服务中的存储以及其他字段,输出是预订确认编号

我的功能文件有一种情况:

Given : Agent is ready to create order with one product   
When GetStore service called  
Then Nearest Store is returned  
When GetAvabliablity service is called  
Then Slots are returned  
When ReserveCapacity is called  
Then Appointment get scheduled  

Scenario 2: This scenarios add 1 line to previous order
Given I have order with one product  
And one more product is added  
When GetStore service is called  
Then nearest store is returend  
When getAvaliblity service is called 
Then Slot is returned  
When ReserveCapavity is called  
then slot is reserved  

我打算通过读取JSON模板而不是功能文件中的测试数据表来形成请求。然后,我将使用需要更新的值来修改JSON。
为了获得可用性,例如,我需要使用由GetStore服务重新定位的商店。 现在,由于我需要将一项服务的输出作为输入传递给另一项服务,并修改Json,因此我将继续学习如何设计框架。对于服务-GetStore,Getavaliablity,GetCapacity的每个服务,我是否应该有单独的步骤定义文件。 我应该使用DI传递对象。 相同的任何建议

1 个答案:

答案 0 :(得分:0)

如果将一个输出输入到另一个,则无需修改JSON,只需解析所需内容即可,因为无论如何,您都将以JSON格式获取输出。

根据常规框架体系结构为每个服务创建单独的步骤定义文件。