相关疑难解决方法(0)

MatDialog服务单元测试Angular 6错误

我有模态服务来打开,确认和关闭对话框,并且正在制作其单元测试文件,但是我在Angular上遇到了错误,这是代码。

模态服务

@Injectable()
export class ModalService {

  constructor(private dialog: MatDialog) { }

  public open<modalType>(modalComponent: ComponentType<modalType>): Observable<any> {
    let dialogRef: MatDialogRef<any>;

    dialogRef = this.dialog.open(modalComponent, {
      maxWidth: '100vw'
    });
    console.log(dialogRef)
    dialogRef.componentInstance.body = body;

    return dialogRef.afterClosed().pipe(map(result => console.log('test'); );
  }

}
Run Code Online (Sandbox Code Playgroud)

模态服务规格

export class TestComponent  {}


describe('ModalService', () => {
  let modalService: ModalService;

  const mockDialogRef = {
    open: jasmine.createSpy('open')
  };

  beforeEach(async(() => {
    TestBed.configureTestingModule({
      imports: [ MatDialogModule ],
      providers: [
        ModalService,
        MatDialogRef,
        { provide: MatDialog, useClass: MatDialogStub }
      ]
    }).compileComponents();

    modalService = TestBed.get(ModalService); …
Run Code Online (Sandbox Code Playgroud)

javascript unit-testing jasmine karma-jasmine angular

9
推荐指数
3
解决办法
9313
查看次数