我使用vue cli 3进行了vue申请。 在设置过程中,我选择了jest作为测试框架。 为了运行单元测试,我在package.json中有一个脚本:
test:unit": "vue-cli-service test:unit",
运行它,我在vs代码终端中编写:
npm run test:unit
这将运行我所有符合package.json文件的jest config部分中设置的规范的测试。
我的问题是如何仅运行一个测试。我需要运行特定的命令吗?或者是否有适用于此设置的vscode扩展名。
答案 0 :(得分:5)
如果您只想执行单个文件,则只需执行以下操作:
npm run test:unit -t counter
counter.spec.js是我的测试文件。
答案 1 :(得分:2)
Vue CLI服务遵循Jest的CLI选项,因此您可以将它们附加到package.json
中的命令中,例如
{
...
"scripts": {
"serve": "vue-cli-service serve",
"build": "vue-cli-service build",
"test:unit": "vue-cli-service test:unit",
"test:only": "vue-cli-service test:unit --testPathPattern=user.store",
},
"dependencies": {
testPathPattern
采用一个适用于规范文件名的正则表达式,因此在我的测试中,如果我指定了模式
--testPathPattern=user.store
我运行一个规格文件,但如果我指定
--testPathPattern=store
我运行多个匹配的规范文件,名称中带有store
。
答案 2 :(得分:1)
为此,您可以使用only
方法。可以直接将其链接到test
方法上。
myunittests.spec.js
describe('My Unit Tests', () => {
test('My excluded test', () => {
...
})
test.only('my single test', () => {
...
})
})
之后,您可以通过运行npm run test:unit -t myunittests
来运行测试。
还有一个skip
方法可以链接。
myunittests.spec.js
describe('My Unit Tests', () => {
test('My excluded test', () => {
...
})
test.skip('my single test', () => {
...
})
})
再次运行npm run test:unit -t myunittests
,您将看到所有“其他”测试都在运行。