2017-10-16 89 views
1

需要用黄瓜测试网络服务。 我有用黄瓜测试网络服务

Scenario: recieve document num 
Given sender info 
And manufacturer code 3 
When colling web-service 
Then recieve document num 

文件CreateDoc.feature而且,还有另一个文件Revocation.feature,我需要用我收到的CreateDoc.feature方案

Scenario: revocation doc 
Given //need document num from first scenario 

我如何能做到这一点的变量?

+0

这似乎不是BDD('黄瓜')的预期用途。你可能会更喜欢TDD工具,比如'JUnit'和'Mockito'。 –

+0

没有变量的概念来存储跨场景的值。您应该考虑在第二种情况下整合整个过程。提到您创建和存储文档编号的一个步骤。在这个单步定义中,您可以调用第一个场景的步骤定义。这也消除了不同场景之间的依赖关系。 – Grasshopper

回答

1

实际上不能将数据从一个场景传递到另一个场景。每个场景都应该独立运行,而不取决于任何其他场景的执行情况。事实上,你不能保证哪个场景会先执行,或者它们是否并行执行。功能文件是对相关场景进行分组的一种方式。

这意味着场景可能会与其他场景中的步骤明显或暗含地重复。

还记得小黄瓜应该表达的业务方面的行动,而不是底层技术。

为了您的撤销方案,您可以尝试:

Given I've created a document identified by document num 
When I revoke the document 
Then it should be gone 

给定的走会经历整个文档的创建过程。

的当步骤会执行必要的动作撤销文档

当时步骤将测试,可能通过查找文件NUM,该文件被正确处理。