close
logo
Rstest
指南
配置
API
English
简体中文
指南
配置
API
English
简体中文
logo
Rstest
Overview

Test Configurations

root
name
include
exclude
setupFiles
projects
update
globals
passWithNoTests
includeSource
testNamePattern
env
bail
retry
testTimeout
hookTimeout
maxConcurrency
pool
isolate
testEnvironment
clearMocks
resetMocks
restoreMocks
unstubEnvs
unstubGlobals
coverage
reporters
logHeapUsage
hideSkippedTests
slowTestThreshold
snapshotFormat
chaiConfig
resolveSnapshotPath
printConsoleTrace
onConsoleLog
disableConsoleIntercept

Build Configurations

plugins
source
output
resolve
tools
dev
performance
📝 在 GitHub 上编辑此页
上一页name
下一页exclude

#include

  • 类型: string[]
  • 默认值: ['**/*.{test,spec}.?(c|m)[jt]s?(x)']
  • CLI: --include '**/*.test.ts' --include '**/*.spec.ts'

匹配 glob 规则的文件将被视为测试文件。这些规则会相对于 root 解析(默认是 process.cwd())。

CLI
rstest.config.ts
import { defineConfig } from '@rstest/core';

export default defineConfig({
  include: ['**/*.{test,spec}.?(c|m)[jt]s?(x)'],
});

你可以运行 npx rstest list --filesOnly 来查看 Rstest 会包含的测试文件列表。

$ npx rstest list --filesOnly

# the output is shown below:
a.test.ts
b.test.ts

#默认行为

默认情况下,Rstest 会匹配当前项目下所有文件名带有 .test. 或 .spec. 中缀的 JavaScript / TypeScript 文件。

下面是默认匹配模式的示例:

├── __tests__
│   └── index.test.js # test
│   └── App.spec.tsx # test
│   └── helper.ts # not test
├── src
│   └── component.ts # not test
│   └── component.test.tsx # test
├── bar.spec.jsx # test
├── index.test.js # test
└── index.js # not test

需要注意的是,如果你将 include 配置为 index.test.ts,Rstest 只会匹配根目录下的 index.test.ts。如果要匹配所有子目录中的 index.test.ts,需要使用 **/index.test.ts。

import { defineConfig } from '@rstest/core';

export default defineConfig({
-  include: ['index.test.ts'],
+  include: ['**/index.test.ts'],
});