describe('#indexOf()'....
it('#doSth()');
'#'在摩卡中有特殊含义吗? describe
和it
实际上做了什么?抱歉找不到describe
和it
答案 0 :(得分:8)
describe
和it
遵循名为BDD
的模式,即“行为驱动开发”。它只是定义了一个界面,让您对编写测试的方式略有不同,至少应该如此。嵌套describe
还可以在功能上对测试进行分组,并且生成的报告具有“可读”的感觉。
引用Mocha docs:
中的示例describe('Array', function(){
describe('#indexOf()', function(){
it('should return -1 when the value is not present', function(){
assert.equal(-1, [1,2,3].indexOf(5));
assert.equal(-1, [1,2,3].indexOf(0));
})
})
})
它的内容如下:
当值不存在时,Array#indexOf()应返回-1
前两个描述只是设置(描述/分组)范围,it
是运行的实际测试。 #
没有特别的意义。在这种情况下,它只是使输出文本/报告看起来更像API-doc。
答案 1 :(得分:6)
'#'没有特殊含义。将#添加到某个类的方法是一种通用标准。例如Array#indexOf()
。
我在describe()
和it()
上有完全相同的问题,文档没有解释太多。
因此我写了blog post on a guide to mocha。简而言之:
describe()
仅用于分组,您可以深入嵌套。也称为测试套件。
it()
是一个测试用例