0

我正在使用黄瓜来测试我的应用程序。我必须为功能设置大数据并在功能完成后进行清理。在对网络进行了一些研究之后,我发现只有场景的钩子,而不是功能的前后钩子。

此外,我发现 cucumber 会通知格式化程序其执行生命周期。

所以,问题是,我可以使用自定义格式化程序并监听 before_feature 和 after_feature 事件来初始化和清理数据吗?是否允许?

谢谢,

姆卡拉科塔

4

1 回答 1

0

不,您不能为此使用格式化程序。如果您尝试设置数据,然后运行许多场景,然后清理数据,请注意这会使您的场景非常脆弱。相反,您应该做的是为每个场景设置数据并在最后清理它。您可以在背景下非常轻松地做到这一点。例如

Feature: Lge data test

Background:
  Given I have lge data

  Scenario: foo
    ...
  Scenario: bar

您最好快速加载 lge 数据集(使用 SQL 转储),并且仅在绝对有时才使用它。功能挂钩是一种反模式,这就是 Cucumber 不支持它们的原因。

于 2014-12-10T19:54:04.413 回答