【发布时间】:2021-06-18 06:50:41
【问题描述】:
正如赛普拉斯文档中所述,“在一组测试之前设置要运行的条件很有帮助”。但是为什么我们实际上需要将它作为一个单独的单元呢?我们可以使用任何 it() 来达到这个目的,不是吗? before() 和 it() 有什么不同吗?
【问题讨论】:
标签: javascript automated-tests mocha.js cypress
正如赛普拉斯文档中所述,“在一组测试之前设置要运行的条件很有帮助”。但是为什么我们实际上需要将它作为一个单独的单元呢?我们可以使用任何 it() 来达到这个目的,不是吗? before() 和 it() 有什么不同吗?
【问题讨论】:
标签: javascript automated-tests mocha.js cypress
before 和 beforeEach 帮助您在每次测试之前设置状态并运行一些东西。目标是不依赖于之前的 it 语句中的状态。 It 语句将运行,但在 it 语句结束后,赛普拉斯将清除 cookie/存储/等。最好的例子是有一个登录方法,并在每个需要登录用户的 it 块之前调用它。
【讨论】:
before() 在块中的所有测试之前运行一次。
我想这与在 first 'it' 测试中编写相同,但 'it' 测试可以跳过、删除或失败,而 before() 将始终存在。
https://docs.cypress.io/guides/core-concepts/writing-and-organizing-tests#Hooks
【讨论】: