错误:模块“ DynamicTestModule”导入了意外的值“ DomSanitizer”请添加一个@NgModule批注

问题描述

我尝试测试DomSanitizer导入。

但是我仍然收到此错误

Error: Unexpected value 'DomSanitizer' imported by the module 'DynamicTestModule'. Please add an @NgModule annotation.

我的测试用例如下:

 beforeEach(async(() => {
    Testbed.configureTestingModule({
      imports: [RouterTestingModule,DomSanitizer,DossierFileService,ErrorProcessor,MatDialog,browserModule],declarations: [ DossierPersonalDataComponent ],providers: [{

        provide: DomSanitizer,useValue: {
          sanitize: () =>'safeString',bypassSecurityTrustHtml: () => 'safeString'
        }

      }]
    })
    .compileComponents();
  }));

那我要改变什么?

谢谢

这是ts文件中的依赖项:

constructor(
    private dossierService: DossierService,private route: ActivatedRoute,private sanitizer: DomSanitizer,private dossierFileService: DossierFileService,private errorProcessor: ErrorProcessor,private dialog: MatDialog
  )

解决方法

group_by(Day,participant_ID)中删除DomSanitizer。您应该只导入模块,而不是服务。您应该提供服务。如果importsDossierFileService是服务(不确定MatDialog是否是服务),请将其移至提供程序。

ErrorProcessor