only() and skip()的意义是什么?如果我仅只想执行一次/描述执行,为什么还要在文件中保留其他内容?如果我想跳过,为什么不删除代码呢?什么时候要使用这些方法?
答案 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', () => {})
})
现在,您团队中的每个人都知道您的新功能,也许有人为您编写测试。现在,关于新功能如何工作的知识不仅在您的脑海中,整个团队也都知道。对项目和业务都是有益的。