Running npm init vue@latest
通过以下设置
生成一个 Vitest 规范文件src
目录。我想知道为什么 Cypress e2e 测试有一个单独的目录,而 Vitest 单元测试就在源代码旁边。有什么原因吗?
我想将这些测试移动到根目录(等于cypress
),创建了一个vitest
目录并移至其中的规范。
测试本身通过了,但我认为我必须更改 sopme 配置以从构建等中排除测试。
文件里面tsconfig.app.json
我改变了线路"exclude": ["src/**/__tests__/*"],
to "exclude": ["vitest"],
.
还有什么我应该做的吗?或者有什么理由将 Vitest 测试保留在源目录中?
要将测试文件夹获取到源文件夹之外:
- 创建一个vitest根目录下的文件夹
- move
./src/components/__tests__
to ./vitest/__tests__
- 测试中*.spec文件,您将导入组件alias
@
import HelloWorld from '@/components/HelloWorld.vue'
- in tsconfig.app.json
- change
"exclude": ["src/**/__tests__/*"],
to "exclude": ["vitest/**/__tests__/*"],
- run
npm run build && npm run test:unit
您介意解释一下为什么保留testsvitest 目录内的目录?
您不需要保留此文件夹。这是一个约定,请查看下面????
如果你想把spec文件在tests没有子文件夹的文件夹,然后只需添加到vite.config.ts
:
test: {
include: ['./vitest/**/*.{test,spec}.{js,mjs,cjs,ts,mts,cts,jsx,tsx}']
}
然后也调整tsconfig.app.json: "exclude": ["vitest/**/*"],
的结果yarn run test:unit
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)