the official Mocha site上的文档包含以下示例:
describe('User', function(){
describe('#save()', function(){
it('should save without error', function(done){
var user = new User('Luna');
user.save(function(err){
if (err) throw err;
done();
});
})
})
})
我想知道什么时候应该将测试嵌套到describe
函数中,以及describe
的基本用途是什么。我可以将传递给describe
的第一个参数与编程语言中的注释进行比较吗?在控制台的输出中没有显示describe
。它只是出于可读性的目的,还是这个函数有其他用途?
这样用会有什么问题吗?
describe('User', function(){
describe('#save()', function(){
var user = new User('Luna');
user.save(function(err){
if (err) throw err;
done();
})
})
})
如果我这样做,测试仍然通过。
发布于 2013-10-10 23:46:00
据我所知,describe确实是为人类而存在的。因此,我们可以看到应用程序的不同区域。你可以嵌套描述n个层次。
describe('user',function(){
describe('create',function(){}
});
发布于 2014-09-09 06:08:38
很难在路易的出色回答中再加一句。describe块还有两个他没有提到的优点,即skip
和only
函数。
describe.skip(...) {
...
}
将跳过此describe及其所有嵌套的describe和它的函数:
describe.only(...) {
...
}
将仅执行describe及其嵌套describe和它函数。skip()
和only()
修饰符也可以应用于it()函数。
发布于 2014-05-10 15:56:38
Describe只是为了理解测试的目的而使用,它也用于对测试进行逻辑分组。假设您正在测试数据库API,所有的数据库测试都可以在外部describe下进行,因此外部describe在逻辑上对所有相关的数据库进行分组。假设有10个与数据库相关的API需要测试,每个内部描述函数都定义了这些测试是什么……
https://stackoverflow.com/questions/19298118
复制相似问题