在Mocha中,为什么要使用only()/ skip()?

时间:2019-06-06 06:46:35

标签: mocha

only() and skip()的意义是什么?如果我只想执行一次/描述执行,为什么还要在文件中保留其他内容?如果我想跳过,为什么不删除代码呢?什么时候要使用这些方法?

1 个答案:

答案 0 :(得分:1)

关于only。想象一下,您在某些npm module中有2000个单元测试。您还需要为新功能编写3个测试。因此,您创建了something.test.js文件并使用describe.only()

编写了测试用例
const assert = require('assert')

describe.only('sample class', () => {
    it('constructor works', () => {
        assert.deepEqual(true, true)
    })

    it('1st method works', () => {
        assert.deepEqual(true, true)
    })

    it('2nd method works', () => {
        assert.deepEqual(true, true)
    })
})

现在,如果您通过npm test在本地启动测试,则仅运行3个测试,而不是全部2003年的测试。使用only

可以更快地编写测试

关于skip。想象一下,您需要在20分钟内实现紧急功能,您没有足够的时间编写测试,但是您有时间记录代码。我们知道unit tests are the best documentation,因此您只需编写测试用例,代码应如何与describe.skip()一起使用

describe.skip('urgent feature', () => {
    it('should catch thrown error', () => {})
})

现在,您团队中的每个人都知道您的新功能,也许有人为您编写测试。现在,关于新功能如何工作的知识不仅在您的脑海中,整个团队也都知道。对项目和业务都是有益的。

more reasons to use skip