跳到主要内容

运行测试

Analog 支持用 Vitest 来运行单元测试。

Vitest 功能

Vitest 支持很多功能:

  • A Jest-compatible API.
  • 兼容 Jest 的 API。
  • 支持 Vits 的配置,变换器,解析器和插件。
  • 智能以及实施观察模式。
  • TypeScript support.
  • 支持 TypeScript。
  • 兼容 Jest 的快照。
  • 利用 jsdom 来 mock DOM。
  • 源码内测试。
  • 以及更多 ...

运行单元测试

要运行单元测试,使用 test 命令:

npm run test

也可以在现有的项目里 添加 Vitest

已知的限制

  • 只有全局变量使用了 Zone.js 进行修补。这意味着,如果你直接从 vitest 导入 itdescribe 等,您将无法运行 fakeAsync。相反,请使用函数(itdescribe 等。就像你以前在 Jest/Jasmine 中所作的那样 - 无需在测试文件中导入这些函数)。

  • 使用了 vmThreads。这可能会导致潜在的内存泄露,并默认使用 JSDOM 提供更接近 Jest 的环境。你可以阅读 这里 查看更多细节。

    如果要改变 - 调整你的 vite.config.mts

    export default defineConfig(({ mode }) => {
    return {
    test: {
    pool: 'threads', // add this property
    },
    };
    });