我是Cucumber的新手,我正在使用cucumber-java。黄瓜特征文件看起来很棒。然而,步骤定义的重用实际上阻碍了组织步骤定义代码的方式。对我来说,组织步骤定义最直观的方法就是遵循特征文件的组织方式,即一个类对应一个特征。然而,如果在两个特征文件中有两个相同的步骤,这种方法是错误的,因为你将在其中一个类中遗漏一个步骤,这会破坏整个结构的一致性。然而,我现在不能说服自己使用其他方法。那么,在使用cucumber-java时,组织步骤定义的明智方法是什么呢?
非常感谢。
发布于 2014-03-04 18:31:15
从你已经在做的事情开始,一旦你意识到一个步骤被重用了,就把它移到一个类ReUsableSteps或其他什么东西上。这样,如果一个步骤在它的类中不存在,那么它应该在ReUsableSteps中。这只是个想法。
发布于 2016-06-01 18:35:27
您可以使用单独的包作为定义公共步骤的类的占位符。将该包添加为glue。
发布于 2017-10-10 13:27:50
使用cucumber的最好方法是最大限度地减少步骤定义的重复。在编写步骤定义时,我们应该关注的是避免任何特定于StepDefinition类的steps方法中的类或功能的代码,因为这样它就不能被泛化,它应该具有可用于不同步骤的公共代码和用于传播到步骤所针对的单独类的代码,并且每个步骤的特定逻辑应该驻留在单独的类中。这样我们就可以避免重复。
示例:-假设我们有一个组件特征文件,其中包含步骤“组件A必须接收响应”,它的实现类是ComponentStepDefinition类,当我们在步骤定义中实现时,我们不应该使用任何逻辑来迭代或计算组件A的响应,而是将值传递到执行A相关任务的类,这样你就必须实现“组件B必须接收响应”,那么可以使用相同的步骤定义,B的逻辑将在另一个类中。
https://stackoverflow.com/questions/22162251
复制相似问题