0

我想知道是否有一种方法可以将一些黄瓜场景包装在与 mocha 相同的上下文中,以便使用某个钩子,例如 beforeAll,

        before(() => {
             this will run once beforeAll
        });
    it('01. example', () => {
             do something
       });

    context('05. Forget password Tests', () => {
        before(() => {
             this will run once beforeAll
        });

        it('05-1. should get an error when no email is provided', () => {
              do somthing
        });
)}

因为替代选项是使用 before 和标签,但这将类似于 beforeEach 并且它将在每个场景之前运行,上面的场景显示之前钩子第一个将在上下文之前运行一次,第二个将在所有它阻塞之前运行一次上下文,这就是我想在黄瓜中实现的目标。

4

1 回答 1

0

每当您开始在黄瓜功能中进行编程时,您总是会做错事。您应该通过多次调用 cucumber(很少需要)在功能之上进行编程,或者通过从步骤定义中调用辅助方法来在 cucumber 之下进行编程。

您永远不应该试图让事情在场景之间持续存在或使用一个场景来设置另一个场景的状态。走这条路会导致一组非常脆弱的测试,难以维护和优化。而是遵循标准的黄瓜方法,让每个场景/测试以干净的状态开始和结束。

于 2021-04-08T16:15:33.850 回答