Queremos brindarte la mejor respuesta que descubrimos en todo internet. Queremos que te sea de mucha ayuda y si deseas comentarnos alguna mejora siente la libertad de hacerlo..
Solución:
Lo resolví cambiando el constructor del componente a:
constructor(
public dialogRef: MatDialogRef,
@Inject(MAT_DIALOG_DATA) public data: Dialog | any
)
Los proveedores en TestBed fueron:
providers: [ provide: MatDialogRef, useValue: , provide: MAT_DIALOG_DATA, useValue: data ]
Si usa al menos uno MatDialogRef
método, debe crear un simulacro. Por ejemplo yo uso el close()
método. Sin él, se generarían errores, así que hice la siguiente clase con un método vacío.
export class MatDialogRefMock
close(value = '')
y use eso en lugar de un valor vacío, con useClass
provide: MatDialogRef, useClass: MatDialogRefMock ,
Importe MatDialogModule y MatDialogRef desde angular/material/dialog en lugar de angular/material. Importe ModalDialogModule y proporcione proveedores para MatDialogRef en su TestBed.
Import MatdialogModule,MatDialogRef from '@angular/material/dialog';
TestBed.configureTestingModule(
declarations: [componentName],
imports: [MatdialogModule],
providers: [provide : MatDialogRef, useValue : ]
);
Comentarios y valoraciones
Si posees algún reparo o disposición de beneficiar nuestro tutorial te recordamos ejecutar una interpretación y con placer lo ojearemos.