【问题标题】:Is there an @BeforeClass hook in cucumber?黄瓜中有@BeforeClass 钩子吗?
【发布时间】:2017-04-17 14:27:37
【问题描述】:

我正在运行一个连接到数据库的 sql 脚本,并在 @Before 挂钩中运行它但是这需要一段时间,我只需要运行一次脚本。测试需要永远运行,因为当它通过我的数据表时,它会在再次测试之前运行脚本。有没有办法解决这个问题,因为我只需要运行这个脚本一次。

@之前 public void setup() 抛出 IOException, SQLException {

    if (!clean){
        DatabaseConnection.getStatement();
        cleanUp();
    }

【问题讨论】:

  • 使用静态布尔标志。最初将其设置为 false。检查之前的标志值。如果为假,则运行脚本并将标志设置为真。下次这不会运行。
  • 我会试试这个谢谢。
  • 如果你不需要这个钩子在所有场景中运行,你应该通过向钩子添加相关标签来限制它的范围。
  • 这可能会有所帮助:github.com/cucumber/cucumber-jvm/issues/515

标签: java cucumber gherkin


【解决方案1】:

按照 Grasshopper 的建议,手动滚动之前的行为是一个好主意。它将解决您的问题,直到您能够以较小的分离步骤设置您的环境。

对我来说,依赖一个大型设置是有风险的。如果功能以不同的顺序执行会发生什么?如果他们不依赖于执行顺序,那就太好了。但是存在一种风险,即它们确实相互依赖,并且你会错过它,直到有一天一切都失败了。

【讨论】:

  • 在这种情况下,功能不相互依赖,它们是独立的实体。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-06-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多