【发布时间】:2021-01-08 07:29:49
【问题描述】:
我有一个使用 Mocha 和嵌套 describe 和 beforeEach 块的测试套件。 当我运行测试时,我希望外部 beforeEach 在内部 beforeEach 之前运行
这里是一些示例代码
const expect = require('chai').expect
describe('Outer describe', async () => {
beforeEach(() => {
console.log('Outer beforeEach is running!!!!');
});
afterEach(() => {
console.log('Outer afterEach is running!!!!');
});
it('Outter test', async () => {
expect(true).to.be.true;
});
describe('Inner describe', () => {
before(() => {
console.log('Inner beforeEach is running!!!!');
});
after(() => {
console.log('Inner afterEach is running!!!!');
});
// only used to simplify the output
it.only('Inner test', async () => {
expect(true).to.be.true;
});
})
});
他是运行上述测试的输出
Outer describe
Inner describe
Inner beforeEach is running!!!!
Outer beforeEach is running!!!!
✓ Inner test
Outer afterEach is running!!!!
Inner afterEach is running!!!!
我期待的是
Outer describe
Inner describe
Outer beforeEach is running!!!!
Inner beforeEach is running!!!!
✓ Inner test
Inner afterEach is running!!!!
Outer afterEach is running!!!!
这是预期的行为吗? 我的内部 beforeEach 依赖于我的外部 beforeEach 在它之前运行,这被认为是不好的做法吗?
我正在使用
节点 14.11.0
摩卡8.1.3
【问题讨论】: