0

我正在运行一个 Angular v8 应用程序并在故事书中。我想为其集成自动化视觉测试并找到 StoryShots。我找到了这条指令并像那样实现了它。因为 Karma 是应用程序中的测试工具,所以我调整了仅包含“test.ts”的文件应进行视觉测试的开玩笑配置。Jest 找到了 spec.ts 文件,但只有 test.ts 文件,它找不到 test No tests found, exiting with code 1。我错过了什么?有人对角度和 StoryShots 有一些经验吗?

这是我的代码:

package.json

  "scripts": {
   ...
    "jest": "jest"
  },
  "dependencies": {
    ...
    "@angular/core": "^8.2.13"
  },
  "devDependencies": {
    ...
    "@storybook/addon-storyshots": "^5.2.8",
    "@storybook/angular": "^5.2.8",
    "@types/jest": "^24.0.23",
    "jest-preset-angular": "^8.0.0",
    "jest": "^24.9.0",
  },
  "engines": {
    "node": ">=10.15.0",
    "npm": "~6.4.0"
  }

jest.config.js

module.exports = {
  preset: 'jest-preset-angular',
  roots: ['src'],
  setupFilesAfterEnv: [
    './jest.setup.ts'
  ],
  testMatch: [
    '**/__tests__/**/*.test.+(ts)?(x)' // <- only test.ts files
  ],
  globals: {
    __TRANSFORM_HTML__: true
  },
  transform: {
    '^.+\\.jsx?$': 'babel-jest',
    "^.+\\.(ts|js|html)$": "ts-jest"
  },
  moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx', 'json', 'node', '.html']
};

jest.setup.js

import 'jest-preset-angular';

在根文件夹中,我有一个.storybook包含测试文件的文件夹

storyshots.test.ts

import initStoryshots from '@storybook/addon-storyshots';

initStoryshots();
4

1 回答 1

1

好的,我想通了。问题是该storyshot.test.ts文件不在 src 文件夹中,所以我不得不jest.config.js像这样调整路径

  rootDir: '../',
  modulePaths: [
    '<rootDir>'
  ],
于 2019-12-09T09:00:42.057 回答