Я использую пользовательские наборы для моего angular проекта, чтобы избежать переделки на стороне клиента для строгих наборов. Тем не менее, он не работает во время выполнения модульных тестов.
Я не уверен, как вывести это пространство имен при выполнении юнит-тестов. Ниже приведен код, который у нас есть
Компонент
import { Component } from '@angular/core';
@Component({
selector: 'app-root',
templateUrl: './app.component.html'
})
export class AppComponent {
title = 'app';
public employees: Company.Core.DTO.IEmployee[];
}
SPE C
import { NO_ERRORS_SCHEMA } from "@angular/core";
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
import { AppComponent } from './app.component';
describe('SearchComponent',
() => {
let fixture: ComponentFixture<AppComponent>;
let component: AppComponent;
beforeEach(async(() => {
TestBed.configureTestingModule({
declarations: [AppComponent],
schemas: [NO_ERRORS_SCHEMA],
})
.compileComponents();
}));
beforeEach(() => {
fixture = TestBed.createComponent(AppComponent);
component = fixture.componentInstance;
fixture.detectChanges();
});
it('should create', () => {
expect(component).toBeTruthy();
});
});
Набрав в файле (app / typings / Company.typings.ts), автоматически сгенерирован TypeLite
declare module Company.Core.DTO {
interface IEmployee {
Number: number;
Age: number;
Name: string;
}
}
Ошибка при выполнении модульного теста
Ошибка TS2503: Не удается найти пространство имен. Company
Это происходит только во время компиляции модульного тестирования. При запуске приложения мы не получаем эту ошибку.
Пробовал это Angular2 Не удается найти пространство имен 'google' , но не повезло
NPM пакетов
Angular : 8.2.12
jasmine-core : ~3.5.0
karma: ^4.4.1
karma-jasmine : ~2.0.1
typescript: 3.5.3