'#'在摩卡中有特殊含义吗?

时间:2013-04-25 05:20:01

标签: node.js mocha

describe('#indexOf()'....
it('#doSth()');

'#'在摩卡中有特殊含义吗? describeit实际上做了什么?抱歉找不到describeit

的文档

2 个答案:

答案 0 :(得分:8)

describeit遵循名为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()是一个测试用例