У меня есть два тестовых файла mocha, каждый со своей функцией beforeEach.BeforeEach из каждого файла запускается для всех тестовых случаев.Лучше объяснить с помощью кода:
user.test.js:
beforeEach((done) => {
console.log('user before each');
done();
});
describe('Running user tests', () => {
it('user test #1', () => {
console.log('in user test 1');
});
it('user test #2', () => {
console.log('in user test 2');
});
});
todo.test.js
beforeEach((done) => {
console.log('todo before each');
done();
});
describe('Running todo tests', () => {
it('todo test #1', (done) => {
console.log('in todo test 1');
done();
});
it('todo test #2', (done) => {
console.log('in todo test 2');
done();
});
});
package.json
{
"name": "before-each",
"version": "1.0.0",
"description": "",
"main": "todo.test.js",
"scripts": {
"test": "mocha **/*.test.js"
},
"author": "",
"license": "ISC",
"devDependencies": {
"mocha": "^5.2.0"
}
}
вывод при запуске: npm test
Running todo tests
todo before each
user before each
in todo test 1
✓ todo test #1
todo before each
user before each
in todo test 2
✓ todo test #2
Running user tests
todo before each
user before each
in user test 1
✓ user test #1
todo before each
user before each
in user test 2
✓ user test #2
4 passing (7ms)
Есть ли способ получить beforeEach () в файле todo для запуска только для тестов в файле todo и beforeEach () в файле пользователязапускать только для пользовательских тестов?Я пришел из Java / JUnit фона, и это ведет себя совсем по-другому.
Спасибо!