Могу ли я запустить Jest через Angular CLI? - PullRequest
0 голосов
/ 10 июня 2018

Я настроил свое приложение Angular 6 для запуска тестов с Jest при запуске «npm run test».Это отлично работает.Я хотел бы иметь возможность запускать те же тесты, когда я выполняю "тест ng"Можно ли настроить Angular CLI для этого?

1 Ответ

0 голосов
/ 10 января 2019

Я действительно рекомендую использовать Jest Builder , если вы хотите переключиться на Jest в своем проекте Angular CLI.У нас только что был переход от Кармы к Джесту в одном из наших проектов, это сработало как шарм.Для справки, вот минимальные шаги для перехода на Jest в новом проекте:

  1. Создание проекта

    $ ng new myapp
    $ cd myapp
    
  2. Удаление зависимостей Кармы, файл конфигурации и test.ts:

    $ yarn remove karma karma-chrome-launcher karma-coverage-istanbul-reporter karma-jasmine karma-jasmine-html-reporter
    $ rm src/karma.conf.js src/test.ts
    
  3. Установите Jest Builder, создайте файл конфигурации:

    $ yarn add --dev jest @angular-builders/jest
    $ touch src/jest.config.js
    
  4. Переключитесь на commonjs в src/tsconfig.spec.json:

    {
      "extends": "../tsconfig.json",
      "compilerOptions": {
        "outDir": "../out-tsc/spec",
        "module": "commonjs",
        "types": [
          "jasmine",
          "node"
        ]
      },
      "include": [
        "**/*.spec.ts",
        "**/*.d.ts"
      ]
    }
    
  5. Переключиться на Jest Builder в angular.json:

    {
      ...
        "test": {
          "builder": "@angular-builders/jest:run",
          "options": {
            "styles": [
              "src/styles.css"
            ],
            "scripts": [],
            "assets": [
              "src/favicon.ico",
              "src/assets"
            ]
          }
        },
      ...
    }
    

Теперь вы будетезапустить тесты с Jest:

$ ng test
 PASS  src/app/app.component.spec.ts
  AppComponent
    ✓ should create the app (223ms)
    ✓ should have as title 'myapp' (80ms)
    ✓ should render title in a h1 tag (70ms)

Test Suites: 1 passed, 1 total
Tests:       3 passed, 3 total
Snapshots:   0 total
Time:        3.704s
Ran all test suites.
...