各位,
我在使用 After
时遇到一些问题钩。我已经在这样的文件夹中组织了我的测试:
features/Accounts/accounts_api.feature
features/Accounts/step_definition/account_steps.rb
features/labs/create_lab.feature
features/labs/step_definition/labs_steps.rb
现在我有一个After
钩子(Hook)存在于帐户功能的步骤定义中,我希望该钩子(Hook)在“帐户”功能的每个场景之后运行,但我不希望它在“实验室”功能的每个场景之后运行。我试过这个:
cucumber --tags @newlabs
上面应该运行标记为 newlabs
的实验室功能中存在的所有场景。但我看到的是,一旦场景标记为 @newlabs
运行 @after
帐户步骤定义中存在的 Hook 开始运行。我在想为什么会发生这种情况,是我使用钩子(Hook)的方式错误还是我对钩子(Hook)的整体理解错误?
非常感谢您花时间回复,这很有帮助。
最佳答案
Hook 并不关心它们位于哪个步骤定义脚本中,并且会针对每个场景运行。或者,更具体地说,您的 after Hook 将在每个功能运行的每个场景之后运行,无论您传递给 Cucumber 的标签如何。
如果您想对此进行更多控制,请查看 Cucumber wiki page on hooks并查看名为“标记的 Hook ”的部分。
关于ruby-on-rails - cucumber 中的后钩,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9163167/