Использование обновленного компонента 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();
  });

});

0 ответов

Другие вопросы по тегам