问题描述
我刚搬到BDD Cucumber中的一个新项目。我面临的问题是:
我想跟踪作为功能文件后端代码的StepDeFinition脚本。
目前,我们仅在胶粘剂下的流道类中提及包装名称。
如何跟踪此功能是在同一(StepDeFinition)包下的40至50个StepDeFinition文件中的哪个StepDeFinition文件中编写的?
请帮助
解决方法
由于您的问题没有提到您使用哪种编程语言,所以我不知道可以使用哪些工具。
如果您使用的是JVM语言,建议您将IntelliJ IDE与Cucumber for Java插件一起使用。这样,您就可以单击功能文件中的步骤并转到相应的步骤定义,就像从调用站点导航到方法实现一样。
更新:如果您正在使用Eclipse(按照下面的用户评论),则Eclipse的Cucumber插件也应提供此功能(更多信息here。
您的问题隐含着在特定步骤定义文件中实现了特定功能。实际上,这在黄瓜中被认为是反模式:see the Cucumber docs on anti-patterns
为了能够找到您的步骤定义,建议“以有意义的方式”将它们分组。什么是“有意义的”将取决于您的上下文。 例如,我目前的团队拥有一项服务,该服务可以将来自其他多个后端服务的数据与他们自己的特定域/域对象进行汇总;我们已根据基础服务/域对步骤定义进行了分组。 假设该服务汇总了有关订单的信息;我们有以下步骤定义文件:
- 与我们自己的系统(聚合器)的互动
- 从订单系统获取(或模拟/存根)订单
- 从产品服务中获取有关订单中产品的信息
- 从物流服务获取有关订单发货的信息 等
通过对您和您的团队有意义的方式订购步骤定义,每个人都可以更轻松地找到步骤定义/知道在哪里添加新的步骤等。
最后,您是否与团队讨论了步骤定义的分组方式以及原因?那应该可以帮助您理解。 (有时,该问题不是要用工具解决的技术问题,而是应该通过相互交谈解决的通信问题)