Я создал проект nrwl / nx с приложением и библиотекой компонентов пользовательского интерфейса.Я также использую jest в качестве инструмента выполнения тестов по умолчанию.
Тесты в моем приложении работают нормально, но когда я пытаюсь протестировать свои компоненты в моей библиотеке компонентов пользовательского интерфейса, оно всегда заканчивается с этой ошибкой:
FAIL libs/ui-components/src/lib/white-label-header/white-label-header.component.spec.ts
● WhiteLabelHeaderComponent › should create
7 | let fixture: ComponentFixture<WhiteLabelHeaderComponent>;
8 |
> 9 | beforeEach(async(() => {
| ^
10 | TestBed.resetTestEnvironment();
11 | TestBed.initTestEnvironment(
12 | BrowserDynamicTestingModule,
at Env.beforeEach (../../node_modules/jest-jasmine2/build/jasmineAsyncInstall.js:41:24)
at Suite.Object.<anonymous>.describe (src/lib/white-label-header/white-label-header.component.spec.ts:9:3)
at Object.<anonymous> (src/lib/white-label-header/white-label-header.component.spec.ts:5:1)
● WhiteLabelHeaderComponent › should create
TypeError: Cannot read property 'getComponentFromError' of null
at TestBedViewEngine._initIfNeeded (../../../../packages/core/testing/src/test_bed.ts:378:46)
at TestBedViewEngine.createComponent (../../../../packages/core/testing/src/test_bed.ts:570:10)
at Function.TestBedViewEngine.createComponent (../../../../packages/core/testing/src/test_bed.ts:232:36)
at Object.beforeEach (src/lib/white-label-header/white-label-header.component.spec.ts:22:23)
● WhiteLabelHeaderComponent › should create
expect(received).toBeTruthy()
Received: undefined
26 |
27 | it('should create', () => {
> 28 | expect(component).toBeTruthy();
| ^
29 | });
30 | });
31 |
at Object.it (src/lib/white-label-header/white-label-header.component.spec.ts:28:23)
Я пытался добавить это в своем beforeEach:
TestBed.resetTestEnvironment();
TestBed.initTestEnvironment(
BrowserDynamicTestingModule,
platformBrowserDynamicTesting()
);
Но безуспешно.
Вот мой файл спецификаций: white-label-header.component.spec.ts
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
import { BrowserDynamicTestingModule, platformBrowserDynamicTesting } from '@angular/platform-browser-dynamic/testing';
import { WhiteLabelHeaderComponent } from './white-label-header.component';
describe('WhiteLabelHeaderComponent', () => {
let component: WhiteLabelHeaderComponent;
let fixture: ComponentFixture<WhiteLabelHeaderComponent>;
beforeEach(async(() => {
TestBed.resetTestEnvironment();
TestBed.initTestEnvironment(
BrowserDynamicTestingModule,
platformBrowserDynamicTesting()
);
TestBed.configureTestingModule({
declarations: [WhiteLabelHeaderComponent],
}).compileComponents();
}));
beforeEach(() => {
fixture = TestBed.createComponent(WhiteLabelHeaderComponent);
component = fixture.componentInstance;
fixture.detectChanges();
});
it('should create', () => {
expect(component).toBeTruthy();
});
});
Все остальные связанные файлы являются просто пустыми угловыми компонентами.Я просто хочу скомпилировать тест, вот и все.
Кто-нибудь имеет представление о том, что я делаю неправильно?