Angular自动化测试中遇到的 问题记录。

508 阅读1分钟

[TabVoiceComponent]> [should create]

NullInjectorError: R3InjectorError(DynamicTestModule)[CommonService -> TranslateService -> TranslateService]: NullInjectorError: No provider for TranslateService!

解决:在 TabVoiceComponent 和 CommonService 组件的测试文件中 分别导入

imports:[TranslateModule.forRoot()],

同样的问题

NullInjectorError: R3InjectorError(DynamicTestModule)[CommonService -> MatSnackBar -> MatSnackBar]: NullInjectorError: No provider for MatSnackBar! in http://localhost:9879/_karma_webpack_/vendor.js (line 176587)

解决:在 TabVoiceComponent 和 CommonService 组件的测试文件中 分别导入

imports:[TranslateModule.forRoot(), MatSnackBarModule],

单元测试中: Error: No value accessor for form control with name: 'data'

解决:在 spec.ts 文件中 引入 'data' 使用的组件。

NullInjectorError: R3InjectorError(DynamicTestModule)[InjectionToken MatDialogData -> InjectionToken MatDialogData]: NullInjectorError: No provider for InjectionToken MatDialogData!

解决:在spec.ts引入

providers: [
  { provide: MAT_DIALOG_DATA, useValue: {} },
  { provide: MatDialogRef, useValue: {} }
]

NullInjectorError: R3InjectorError(DynamicTestModule)[FormBuilder -> FormBuilder]: NullInjectorError: No provider for FormBuilder!

解决:在spec.ts引入

imports:[
    ReactiveFormsModule
]

NullInjectorError: R3InjectorError(DynamicTestModule)[NzModalService -> NzModalService]: NullInjectorError: No provider for NzModalService!

解决:在spec.ts引入

imports:[
    NzModalModule
]

Error: NG0201: No provider for NgControl found in NodeInjector

解决:在spec.ts引入

imports:[
    //根据你是用的组件不同引入下面的其中一个
    ReactiveFormsModule,
    FormsModule,
]

nexpected synthetic property @.disabled found. Please make sure that:

  • Either BrowserAnimationsModule or NoopAnimationsModule are imported in your application.
  • There is corresponding configuration for the animation named @.disabled defined in the animations field of the @Component decorator.

解决:在spec.ts引入

imports:[
    BrowserAnimationsModule
]

mat-form-field must contain a MatFormFieldControl.

解决:在spec.ts引入

imports:[
    MatFormFieldModule, 
    MatInputModule
]

TypeError: Cannot read properties of null (reading 'substr')

暂时未解决。。。,等使用到相关组件再进行解决