【问题标题】:What is the difference between Cypress before() hook and it() test赛普拉斯 before() 钩子和 it() 测试有什么区别
【发布时间】:2021-06-18 06:50:41
【问题描述】:

正如赛普拉斯文档中所述,“在一组测试之前设置要运行的条件很有帮助”。但是为什么我们实际上需要将它作为一个单独的单元呢?我们可以使用任何 it() 来达到这个目的,不是吗? before() 和 it() 有什么不同吗?

【问题讨论】:

    标签: javascript automated-tests mocha.js cypress


    【解决方案1】:

    before 和 beforeEach 帮助您在每次测试之前设置状态并运行一些东西。目标是不依赖于之前的 it 语句中的状态。 It 语句将运行,但在 it 语句结束后,赛普拉斯将清除 cookie/存储/等。最好的例子是有一个登录方法,并在每个需要登录用户的 it 块之前调用它。

    【讨论】:

    • 如您所见,我没有询问 beforeEach() 挂钩,因为这很明显。我的问题是关于 before()。是的,我当然知道我们需要创建初始状态,这就是我们之前使用的原因,这也是显而易见的。但是 before() 和 it() 之间有什么区别吗?这就是我要问的。
    【解决方案2】:

    before() 在块中的所有测试之前运行一次。

    我想这与在 first 'it' 测试中编写相同,但 'it' 测试可以跳过、删除或失败,而 before() 将始终存在。

    https://docs.cypress.io/guides/core-concepts/writing-and-organizing-tests#Hooks

    【讨论】:

      猜你喜欢
      • 2021-01-12
      • 2023-02-14
      • 1970-01-01
      • 2021-10-20
      • 2020-05-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多