我有两个测试套件(我使用的是mocha的TDD UI,它使用的suite()是test()而不是describe()和it()):
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)
})
})
...
}()
Run Code Online (Sandbox Code Playgroud)
运行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)
}
})
Run Code Online (Sandbox Code Playgroud)
问题是它beforeEach不是TDD UI的一部分,而是BDD UI.TDD UI的相应功能是setup.所以尝试替换beforeEach,setup一切都应该按预期工作:).
| 归档时间: |
|
| 查看次数: |
155 次 |
| 最近记录: |