设置
我们推荐使用 Vitest,但你可以自由地将该库与任何你熟悉的测 试框架和运行器一起使用。
Vitest
暗转 Vitest 和 jsdom
npm install --save-dev vitest jsdom
添加以下到你的
package.json
{
"scripts": {
"test": "vitest run src",
"test:watch": "vitest src"
}
}在 Vitest 中使用 Svelte 组件之前,你需要编译它们,所以你需要安装 @sveltejs/vite-plugin-svelte 和 Vite。
npm install --save-dev @sveltejs/vite-plugin-svelte vite
在你的项目的根部添加一个
vitest.config.ts
配置文件import {defineConfig} from 'vitest/config'
import {svelte} from '@sveltejs/vite-plugin-svelte'
export default defineConfig({
plugins: [svelte({hot: !process.env.VITEST})],
test: {
include: ['src/**/*.{test,spec}.{js,mjs,cjs,ts,mts,cts,jsx,tsx}'],
globals: true,
environment: 'jsdom',
},
})这是可选的,但建议你安装 jest-dom,以便在 Jest 中添加 方便的断言。
5.1 安装
jest-dom
npm install --save-dev @testing-library/jest-dom
5.2 在你的测试文件的开头导入
@testing-library/jest-dom
。import '@testing-library/jest-dom'
创建你的组件和一个测试文件(查看文档的其他部分以了解如何创建),并运行以下命 令来运行测试。
npm run test
SvelteKit
要在 SvelteKit 中使用 Vitest,请安装 vitest-svelte-kit
,它包括一个为 SvelteKit
项目预先配置的 Vitest 配置。你可以看一下
vitest-svelte-kit
的配置文档,
以获得更多的指导。
Jest
安装 Jest & jest-environment-jsdom
npm install --save-dev jest jest-environment-jsdom
添加以下到你的
package.json
{
"scripts": {
"test": "jest src",
"test:watch": "npm run test -- --watch"
}
}在 Jest 中使用 Svelte 组件之前,你需要对其进行编译,所以我们需要安装 svelte-jester
- npm
- Yarn
npm install --save-dev svelte-jester
yarn add --dev svelte-jester
添加如下 Jest 配置到你的
package.json
{
"jest": {
"transform": {
"^.+\\.svelte$": "svelte-jester"
},
"moduleFileExtensions": ["js", "svelte"],
"testEnvironment": "jsdom"
}
}如果你在你的项目中使用 ES6 模块,你必须添加 Jest 的 babel 转换设置(它是默认 设置的,但由于我们要覆盖转换配置,我们必须明确添加它)。
5.1 安装
babel-jest
- npm
- Yarn
npm install --save-dev babel-jest
yarn add --dev babel-jest
5.2. 添加一个基础的
.babelrc
配置{
"presets": [["@babel/preset-env", {"targets": {"node": "current"}}]]
}5.3. 更新 Jest transform 配置
"transform": {
"^.+\\.js$": "babel-jest",
"^.+\\.svelte$": "svelte-jester"
},这是可选的,但建议你安装 jest-dom,以便在 Jest 中添加 方便的断言。
6.1 安装
jest-dom
- npm
- Yarn
npm install --save-dev @testing-library/jest-dom
yarn add --dev @testing-library/jest-dom
6.2 添加如下 Jest 配置到你的
package.json
{
"setupFilesAfterEnv": ["@testing-library/jest-dom/extend-expect"]
}创建你的组件+测试文件(查看文档的其他部分以了解如何操作)并运行它
- npm
- Yarn
npm run test
yarn run test
Typescript
要在 Jest 中使用 Typescript,你需要安装和配置 svelte-preprocess
和 ts-jest
。
完整的说明请
见svelte-jester
文档。
预处理器
如果你想包含任 何Svelte 预处理器,那么只需按 照svelte-jester的说明即可。