我创建了一个打开自定义类型对话框的组件,我只想为此方法创建Jasmine单元测试用例。

export class OpenPopUpComponent implements OnInit {
    constructor(public dialog:NewCustomDialog) {}

    ngOnInit() {

    }

    openModel(){
        this.dialog.open(NewComponent,<NewCustomDialogConfig>{
            size: 'double',
            data: {
                title: 'New Dialog'
            }
        });
    }
}

最佳答案

您将不会测试对话框本身。您需要做的是模拟NewCustomDialog并按注入方式提供它。

根据您的要求

beforeEach(() => {
  const spy = jasmine.createSpyObj('NewCustomDialog', ['open']);

  TestBed.configureTestingModule({
    // Provide (spy) dependency
    providers: [
      { provide: NewCustomDialog, useValue: {newCustomDialogSpy} }
    ]
  });
  // Inject both the service-to-test and its (spy) dependency
  masterService = TestBed.get(MasterService);
  valueServiceSpy = TestBed.get(ValueService);
});


然后,您可以检查是否已使用参数(您期望的参数)调用了间谍。

关于javascript - 下面的 Angular 方法如何编写测试用例,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58663229/

10-11 11:32