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

'#' 在 Mocha 中是否有特殊含义?做什么describeit实际做什么?抱歉没有找到describe和的文件it

4

2 回答 2

11

describeit遵循一种称为 的模式BDD,意思是“行为驱动开发”。它只是定义了一个接口,使您对编写测试的方式有所不同,至少应该如此。嵌套describe还可以对测试进行功能分组,生成的报告给人一种“可读”的感觉。

引用Mocha 文档中的示例:

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 文档。

于 2013-04-25T05:28:34.903 回答
7

'#' 没有特殊含义。在某个类的方法前加上 # 前缀是一种通用标准。例如Array#indexOf()

describe()我对and有完全相同的问题it(),文档没有解释太多。

因此,我写了一篇关于 mocha 指南的博文。简而言之:

  • describe()仅用于分组,您可以嵌套尽可能深。也称为测试套件。

  • it()是一个测试用例

于 2014-02-08T15:18:04.457 回答