close
  • 简体中文
  • performance

    performance.buildCache performance.buildCacheperformance.buildCache

    • 类型:
    type BuildCacheConfig =
      | boolean
      | {
          cacheDirectory?: string;
          cacheDigest?: Array<string | undefined>;
          buildDependencies?: string[];
        };
    • 默认值: false

    为 Rstest 的测试构建开启 Rsbuild 持久化构建缓存。

    Tip

    Rspack 的持久化缓存仍处于实验阶段,未来版本中可能发生变化,因此 Rstest 默认不会开启 performance.buildCache

    rstest.config.ts
    import { defineConfig } from '@rstest/core';
    
    export default defineConfig({
      performance: {
        buildCache: true,
      },
    });

    开启后,Rstest 会补上一些更适合测试场景的默认值,以保证缓存目录和失效条件更稳定:

    • cacheDirectory 默认使用当前 project 根目录下的 node_modules/.cache/rstest-<project-name>,即使多个 project 共用同一个 root,也能拥有独立缓存。
    • cacheDigest 会自动包含 Rstest 的运行输入,例如命令类型、环境名、browser / node 模式。
    • buildDependencies 会自动包含当前 Rstest 配置文件、各 project 配置文件,以及已解析到的 tsconfig 路径。

    你可以通过自定义配置来覆盖或扩展这些默认值:

    • cacheDirectory覆盖。显式提供后,Rstest 会直接使用你的目录。
    • cacheDigest扩展。Rstest 会保留自己的运行时摘要项,并把你的自定义值追加在后面。
    • buildDependencies扩展。Rstest 会保留自己的依赖文件,并在把相对路径按当前配置文件目录解析后,再追加你的自定义文件。

    例如:

    rstest.config.ts
    import { defineConfig } from '@rstest/core';
    
    export default defineConfig({
      performance: {
        buildCache: {
          cacheDirectory: '.cache/rstest/browser',
          cacheDigest: [process.env.CUSTOM_ENV],
          buildDependencies: ['./scripts/test-env.ts'],
        },
      },
    });