Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/383.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Mocha:如何在嵌套的descripe()中只保留失败的descripe()?_Javascript_Unit Testing_Mocha.js - Fatal编程技术网

Javascript Mocha:如何在嵌套的descripe()中只保留失败的descripe()?

Javascript Mocha:如何在嵌套的descripe()中只保留失败的descripe()?,javascript,unit-testing,mocha.js,Javascript,Unit Testing,Mocha.js,我的测试结构如下 describe('Test Suite'){ describe('First Test Case'){ it('1st step'){}; it('2nd step'){}; it('3rd step'){}; } describe('Second Test Case'){ it('1st step'){}; it('2nd step'){}; it('

我的测试结构如下

describe('Test Suite'){
     describe('First Test Case'){
        it('1st step'){};
        it('2nd step'){};
        it('3rd step'){};
    }
     describe('Second Test Case'){
        it('1st step'){};
        it('2nd step'){};
        it('3rd step'){};
    }
}
我想使用--bail这样,如果在第一个测试用例中,任何it()失败,那么descripe()应该被bail。但是第二个测试用例应该运行

我使用以下方法获得预期结果:

describe('Test Suite'){
     this.bail(false)
     describe('First Test Case'){
        this.bail(true);
        it('1st step'){};
        it('2nd step'){};
        it('3rd step'){};
    }
     describe('Second Test Case'){
        this.bail(true);
        it('1st step'){};
        it('2nd step'){};
        it('3rd step'){};
    }
}

在每个descripe()中,是否有其他方法可以不显式地将bail指定为true?

我找到了解决方法,可能会有所帮助

您可以设置您的条件,而不是通过文件,而是我的函数名或测试名

在安装文件中:

const FAILED_TESTS = {};
// Skip test if first test from folder failed
beforeEach(function() {
  if (FAILED_TESTS[this.currentTest.file]) {
    this.skip();
  }
});

afterEach(function() {
  if (this.currentTest.state === "failed") {
    FAILED_TESTS[this.currentTest.file] = true;
  }
});

我很确定没有。