Преобразование недавно созданного углового проекта cli для использования mocha framework вместо jasmine - PullRequest
0 голосов
/ 05 сентября 2018

Эй, я создал новый проект с последним угловым кликом. Он создает проект, который использует жасмин в качестве основы тестирования. Я хотел использовать мокко.

Я добавил необходимые плагины после проекта https://github.com/arranbartish/angular-cli-seed/blob/master/karma.conf.js

Я получаю следующую ошибку при запуске теста с использованием команды ng test enter image description here

Кто-нибудь сталкивался с ошибкой или есть способ выяснить, что является причиной этой проблемы.

1 Ответ

0 голосов
/ 22 декабря 2018

Проблема

zone.js использует несколько «патчей», когда он используется в тестовой среде. Для удобства zone.js предоставляет один модуль, который объединяет все эти патчи. Этот модуль zone.js/dist/zone-testing. Это пакет, который @angular/cli использует в тестовой настройке, он импортируется в src/test.ts. Проблема в том, что zone.js/dist/zone-testing предполагает, что вы используете жасмин, и содержит жасминовую заплату. Жасминовый патч - вот что вызывает вашу ошибку.

Исправление

Чтобы исправить это, вам просто нужно импортировать каждый из патчей самостоятельно, а не использовать удобный, предварительно упакованный модуль. В src/test.ts

import 'zone.js/dist/zone-testing';

должен стать

import 'zone.js/dist/long-stack-trace-zone';
import 'zone.js/dist/proxy';
import 'zone.js/dist/sync-test';
import 'zone.js/dist/mocha-patch';
import 'zone.js/dist/async-test';
import 'zone.js/dist/fake-async-test';
import 'zone.js/dist/zone-patch-promise-test';

Это те же самые пакеты, которые использует zone.js/dist/zone-testing; однако он импортирует mocha-patch вместо jasmine-patch.

...