我有一个背景部分需要多分钟的功能;它通过API在远程系统上设置状态。我希望它只对所有后续的场景执行一次,而不是针对每种场景执行。我的场景不会改变任何状态,它们是只读的,所以不应该从一种场景到另一种场景产生副作用。黄瓜:如何执行多个场景一次背景
我没有使用rails,也没有本地数据库,所以不能做数据库事务。
我目前正在考虑在env.rb中使用Before来做些事情,并且根据隐式约定/标记的含义来创建一些条件代码。 “@ background-only-once”,可以让一些自定义代码跳过这些步骤,或者它可以在步骤定义中执行不同的逻辑 - 但是尝试在执行过程中共享这一点有点令人讨厌。
想法?
当你说'对于所有后续的场景只执行一次',这是否意味着在同一个特性文件中的场景?是否必须重新调用后台中的步骤(例如,如果其中一个步骤出现在不同的功能文件中)? –
a)是的,我想在“背景”部分中的步骤仅在该特性*中的任何场景*运行之前执行一次。 b)无关紧要;它可以以任何方式工作。 –
这是一个很好的问题,我很惊讶没有可以接受的答案。我有完全相同的问题,徘徊什么是处理它的最好方法。任何建议/帮助非常感谢。 –