【问题标题】:Angular tests - NullInjectorError: StaticInjectorError(DynamicTestModule)[NgxPermissionsDirective -> NgxPermissionsService]角度测试 - NullInjectorError: StaticInjectorError(DynamicTestModule)[NgxPermissionsDirective -> NgxPermissionsService]
【发布时间】:2021-09-02 04:41:59
【问题描述】:

我正在测试一个使用 ngx-permissions 的组件,但我收到错误 - NullInjectorError: StaticInjectorError(DynamicTestModule)[NgxPermissionsDirective -> NgxPermissionsService]... 但我已经导入了该模块。 我的测试台配置如下图:

    TestBed.configureTestingModule({
      declarations: [ApplicationDetailsComponent],
      imports: [
        SharedModule,
        PipeModule,
        MaterialModule,
        NgxLoadingModule,
        RouterTestingModule,
        HttpClientTestingModule,
        ToasterTestingModule,
        NoopAnimationsModule,
        FlexLayoutModule,
        ReactiveFormsModule,
        NgxPermissionsModule,
      ],
      providers: [
        {
          provide: AuthService,
          useClass: MockAuthService,
        },
        {
          provide: AnotherService,
          useClass: AnotherServiceMock,
        },
        {
          provide: ActivatedRoute,
          useValue: {...route},
        },
      ],
    }).compileComponents();

【问题讨论】:

  • 你试过NgxPermissionsModule.forRoot()

标签: angular jasmine


【解决方案1】:
import {
  NgxPermissionsAllowStubDirective,
  NgxPermissionsModule,
} from 'ngx-permissions';

describe('TestComponentA', () => {
  let component: ComponentA;
  let fixture: ComponentFixture<ComponentA>;
  let service: ComponentAService;

  beforeEach(async () => {
    await TestBed.configureTestingModule({
      imports: [
        NgxPermissionsModule.forRoot(),
      ],
      declarations: [ComponentA, NgxPermissionsAllowStubDirective],
      providers: [],
    }).compileComponents();
  });

})

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-07-23
    • 2019-06-22
    • 1970-01-01
    • 2023-04-01
    • 2020-06-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多