Использование обновленного компонента AngularJS в Angular с сообщением об ошибке: [$injector:unpr] Неизвестный поставщик при тестировании
Я обновил AngularJS Component 'contactBox' в 'contactBoxDirective' и использовал его в угловом компоненте personInfo.
Но при выполнении тестовых случаев с использованием TestBed я всегда получаю сообщение об ошибке
Ошибка: [$injector:unpr] Неизвестный поставщик: contactBoxDirectiveProvider <- contactBoxDirective http://errors.angularjs.org/1.6.9/$ injector / unpr? P0=contactBoxDirectiveProvider%20%3C-%20contactBoxDirective в C:/Users/user/AppData/Local/Temp/3ac750590575e0af0efa9c7ea3a7a188.browserify:160495:12 по адресу C: /Users/user/AppData/Local/Temp/3ac750590575e0af0efa9c7ea3a7a188. /52: пользователь: CISS: user / AppData / Local / Temp / 3ac750590575e0af0efa9c7ea3a7a188.browserify: 165426: 32) в C: /Users/user/AppData/Local/Temp/3ac750590575e0af0efa9c7ea3a7a188. 165: получатель: 165 /user/AppData/Local/Temp/3ac750590575e0af0efa9c7ea3a7a188.browserify:165426:32) при Function.UpgradeHelper.getDirective (C: /Users/user/AppData/Local/Temp/3ac750590575e0af0efa9c7ea3a7a188.browserify: 116067: 36) на новой UpgradeHelper (С: /Users/user/AppData/Local/Temp/3ac750590575e0af0efa9c7ea3a7a188.browserify: 116064: 53) в contactBoxDirective.UpgradeComponent (C: / Users / u ser / AppData / Local / Temp / 3ac750590575e0af0efa9c7ea3a7a188.browserify: 116364: 23) в новом contactBoxDirective (C: /Users/user/AppData/Local/Temp/3ac750590575e0af0efa9crif.jpg 235: 33b): 33a: 33b: 33b: 33b: 33b: 333: c3e60: 333: c3e60: c3 /AppData/Local/Temp/3ac750590575e0af0efa9c7ea3a7a188.browserify:93137:20) Ожидается, что undefined будет правдивым. на UserContext. (C: /Users/user/AppData/Local/Temp/3ac750590575e0af0efa9c7ea3a7a188.browserify: 2400: 27) в ZoneDelegate.invoke (C: /Users/user/AppData/Local/Temp/3ac7505e68a5e5e5e5e5e5e5e5e5e5e5e5e0e5e5e5e5e5e5e5e5,
Тестовый код -
describe('PersonModalContentComponent', () => {
let $injector: angular.auto.IInjectorService;
let component: PersonModalContentComponent;
let fixture: ComponentFixture<PersonModalContentComponent>;
beforeAll(() => {
// First, initialize the Angular testing environment.
getTestBed().resetTestEnvironment();
getTestBed().initTestEnvironment(
BrowserDynamicTestingModule,
platformBrowserDynamicTesting()
);
});
beforeEach(angular.mock.inject((_$injector_: ng.auto.IInjectorService) => {
$injector = _$injector_;
}));
beforeEach(() => {
TestBed.configureTestingModule({
providers: [ {
provide: '$injector',
useFactory: () => $injector,
deps: []
}, NgbModal, NgbActiveModal ],
imports: [
TestsModule,
NgbModule.forRoot(),
TranslateModule.forRoot(),
PersonDetailsModule
]
})
.compileComponents();
});
beforeEach(() => {
fixture = TestBed.createComponent(PersonModalContentComponent);
component = fixture.componentInstance;
fixture.detectChanges();
});
it('should create PersonModalContentComponent', () => {
expect(component).toBeTruthy();
});
});