如何为摩卡咖啡等黄瓜场景添加上下文?

问题描述

我想知道是否有一种方法可以将一些黄瓜场景包装在与 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 并且它将在每个场景之前运行,上面的场景显示 to before hook 第一个将在上下文之前运行一次,第二个将在所有它之前运行一次上下文中的块,这就是我想在黄瓜中实现的目标。

解决方法

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

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

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...