У меня есть два тестовых наборов (я использую TDD UI мокко, которая использует suite()
, тест(), а не describe()
и it()
):Мокко beforeEach в один люкс запущен в другой люкс
suite('first suite'), function(){
....
})
suite('second suite', function(){
beforeEach(function(done){
console.log('I SHOULD NOT BE RUN')
this.timeout(5 * 1000);
deleteTestAccount(ordering, function(err){
done(err)
})
})
...
}()
Бег mocha -g 'first suite
только запускает тесты из первого пакета, но запускает beforeEach, печатает I SHOULD NOT BE RUN
на консоли.
Как я могу сделать beforeEach()
только в комплекте, в котором он содержится?
Примечание: Я могу обойти эту проблему с:
beforeEach(function(done){
this.timeout(5 * 1000);
if (this.currentTest.fullTitle().includes('second suite')) {
deleteTestAccount(ordering, function(err){
done(err)
})
} else {
done(null)
}
})
Спасибо! Это несколько [тонкий в документах] (http://mochajs.org/) - особенно, поскольку 'beforeEach()' не так расплывчато, как другие методы стиля BDD. Полный набор различий: 'before()' становится 'suiteSetup()', 'after()' становится 'suiteTeardown()', 'beforeEach()' становится 'setup() ', а' afterEach() 'становится' демонтажа() '. – mikemaccana